免费智能真题库 > 历年试卷 > 电子商务设计师 > 2014年下半年 电子商务设计师 上午试卷 综合知识
  第56题      
  知识点:   程序设计   面向对象三大特征   类与对象   面向对象程序设计
  关键词:   面向对象程序设计   程序设计   对象   面向对象        章/节:   电子商务平台开发基础       

 
以下关于面向对象程序设计类与对象的说法中,不正确的是(56)。
 
 
  A.  对象是类的一个实例
 
  B.  任何一个对象只能属于一个具体的类
 
  C.  类与对象的关系和数据类型与变量的关系相似
 
  D.  一个类只能有一个对象
 
 
 

 
  第17题    2013年下半年  
   37%
在面向对象方法中,(17)是一种信息隐蔽技术,其目的是使对象的使用者和生产者分离,使对象的定义和实现分开。
  第17题    2015年下半年  
   43%
在面向对象方法中,继承用于(17)。
  第56题    2013年下半年  
   41%
不属于面向对象程序设计特征的是(56)。
   知识点讲解    
   · 程序设计    · 面向对象三大特征    · 类与对象    · 面向对象程序设计
 
       程序设计
        (1)将商品放入购物车相关程序代码如下。
        
        
        (2)购物车页面的后台类文件主要程序如下。
        在页面加载方法中,首先要判断用户是否登录,如果用户登录且购物车不为空,要将购物车中的内容显示在页面上。代码如下:
        
        将session中内容取出转换成DataTable,并绑定到页面的Gridview控件上,代码如下:
        
        当要删除购物车中的商品时,GridView删除按钮处理事件代码如下:
        
        如果需要修改购物车中的信息,只允许修改商品数量,GridView更新按钮处理事件程序代码如下:
        
        将购物车中的商品绑定到页面之后,还需要将商品的总价计算出来,程序如下:
        
 
       面向对象三大特征
        (1)封装。封装是面向对象编程的特征之一,也是类和对象的主要特征。封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件—类。外部无法直接访问这些封装了的数据,从而保证了这些数据的正确性。
        (2)继承。面向对象编程语言的重要特点就是“继承”。从编程角度来说,如果类A继承类B,类A称为子类,类B称为父类,子类继承父类成为一个新类,直接获得父类的方法和属性,并在无需重新编写原来的类的情况下对这些功能进行扩展,是软件重用的重要方式。因此,一个子类完整的内容往往包括:从父类继承而来的成员;自身添加的成员;父类成员不符合要求而重写的成员。
        (3)多态。多态是指面向对象程序运行时,相同的信息可能会送给多个不同的类型的对象,而系统可依据对象所属类型,引发对应类型的方法,而有不同的行为。简单来说,所谓多态意指相同的信息给予不同的对象会引发不同的行为。
 
       类与对象
        对象是人们要进行研究的任何事物,从最简单的整数到复杂的机器都可看作对象。对象可以是具体的事物,也可以是抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
        具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
               类
               C++中类定义的一般形式如下:
               
               类的定义由类头和类体两部分组成。类头由关键字class开头,然后是类名,其命名规则与一般标识符的命名规则一致。类体放在一对花括号中。类的定义也是一个语句,所以要有分号结尾,否则会产生编译错误。
               类体定义类的成员,它支持如下两种类型的成员。
               (1)数据成员。它们指定了该类对象的内部表示。
               (2)成员函数。它们指定该类的操作。
               类成员有如下三种不同的访问权限。
               (1)公有(public):成员可以在类外访问。
               (2)私有(private):成员只能被该类的成员函数访问。
               (3)保护(protected):成员只能被该类的成员函数或派生类的成员函数访问。
               数据成员通常是私有的;成员函数通常有一部分是公有的,一部分是私有的。公有的成员函数可在类外被访问,也称之为类的接口。
               对象
               类是用户定义的数据类型(不占内存单元),它存在于静态的程序中(即运行前的程序)。而动态的面向对象程序(即运行中的程序)则由对象构成,程序的执行是通过对象之间相互发送消息来实现的,对象是类的实例(占内存单元)。
                      对象的创建
                      定义了类以后,就可以定义类类型的变量,类的变量称为对象。例如:
                      
                      在所有函数之外定义的对象称为全局对象,在函数内(或复合语句内)定义的对象称为局部对象,在类中定义的对象称为成员对象。全局对象和局部对象的生存期和作用域的规定与普通变量相同。成员对象将随着包含它的对象的创建而创建、消亡而消亡,成员对象的作用域为它所在的类。
                      通过new操作创建的对象称为动态对象,其存储空间在内存的堆区。动态对象用delete操作撤销。例如:
                      
                      对象的操作
                      对于创建的一个对象,需要通过调用对象类中定义的成员函数来对它进行操作,采用“对象名.成员函数名(实参表)”或“指向对象的指针->成员函数名(实参表)”的形式表示。
               构造函数和析构函数
                      构造函数
                      程序运行时创建的每个对象只有在初始化后才能使用。对象的初始化包括初始化对象的数据成员以及为对象申请资源等。对象消亡前,往往也需要执行一些操作,例如归还对象占有的空间。
                      C++中定义了一种特殊的初始化函数,称之为构造函数。当对象被创建时,构造函数自动被调用。构造函数的名字与类名相同,它没有返回类型和返回值。当对象创建时,会自动调用构造函数进行初始化。例如:
                      
                      注意:对构造函数的调用是对象创建过程的一部分,对象创建之后就不能再调用构造函数了。例如,下面的调用是错误的。
                      
                      构造函数也可以重载,其中,不带参数(或所有参数都有默认值)的构造函数称为默认构造函数。
                      对于常量数据成员和引用数据成员(某些静态成员除外),不能在声明时进行初始化,也不能采用赋值操作对它们进行初始化。例如,下面对y和z的初始化是错误的。
                      
                      可以在定义构造函数时,在函数头和函数体之间加入一个对数据成员进行初始化的表来实现。例如:
                      
                      当创建A的对象时,对象的数据成员y初始化成10,数据成员初始化成引用数据成员x。同理,x初始化为0的处理也可放在初始化表中。
                      如果类中有常量数据成员或引用数据成员,并且类中定义了构造函数,则一定要在定义的所有构造函数的成员初始化表中对它们进行初始化。
                      析构函数
                      当对象销毁时,会自动调用析构函数进行一些清理工作。析构函数也与类同名,但在名字前有一个“~”,析构函数也没有返回类型和返回值。析构函数不带参数,不能重载。
                      若一个对象中有指针数据成员,且该指针数据成员指向某一个内存块,则在对象销毁前,往往通过析构函数释放该指针指向的内存块。对象的析构函数在对象销毁前被调用,对象何时销毁也与其作用域有关。例如,全局对象是在程序运行结束时销毁,自动对象是在离开其作用域时销毁,而动态对象则是在使用delete运算符时销毁。析构函数的调用顺序与构造函数的调用顺序相反。当用户未显式定义构造函数和析构函数时,编译器会隐式定义一个内联的、公有的构造函数和析构函数。默认的构造函数执行创建一个对象所需要的一些初始化操作,但它并不涉及用户定义的数据成员或申请的内存的初始化。
               静态成员
               有时,可能需要一个或多个公共的数据成员能够被类的所有对象共享。在C++中,可以定义静态(static)的数据成员和成员函数。要定义静态数据成员,只要在数据成员的定义前增加static关键字。
               静态数据成员不同于非静态的数据成员,一个类的静态数据成员仅创建和初始化一次,且在程序开始执行的时候创建,然后被该类的所有对象共享,也就是说,静态数据成员不属于对象,而是属于类;而非静态的数据成员则随着对象的创建而多次创建和初始化。
               C++也允许定义static成员函数。与静态数据成员类似,静态成员函数也是属于类。在静态成员函数中,仅能访问静态的数据成员,不能访问非静态的数据成员,也不能调用非静态的成员函数。公有的、静态的成员函数在类外的调用方式为:
               
               this指针
               C++中定义了一个this指针,用它指向类的对象。this指针是一个隐含的指针,不能被显式声明。
               友元
               根据数据保护的要求,不能在一个类的外部访问该类的数据成员,C++用private访问控制来保证这一点,对private数据成员的访问通常通过该类提供的public成员函数来进行。
               在C++的一个类定义中,可以指定某个全局函数、某个其他类或某个其他类的成员函数来直接访问该类的私有(private)和保护(protected)成员,它们分别称为友元函数、友元类和友元类函数,通称为友元。例如:
               
               友元的作用是提高程序设计的灵活性,是数据保护和对数据的存取效率之间的一种折衷方案。
 
       面向对象程序设计
        面向对象程序设计(Object Oriented Programming,OOP)是采用面向对象程序设计语言,采用对象、类及其相关概念所进行的程序设计,将设计模型转化为在特定的环境中系统,即实现系统。通过面向对象的分析与设计所得到的系统模型可以由不同的编程语言实现。一般采用如Java、C++、Smalltalk等面向对象语言,也可以用非面向对象语言实现,如C语言中的结构。
   题号导航      2014年下半年 电子商务设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第56题    在手机中做本题