免费智能真题库 > 历年试卷 > 软件设计师 > 2011年上半年 软件设计师 上午试卷 综合知识
  第38题      
  知识点:   面向对象开发技术   静态成员
  关键词:   静态成员        章/节:   面向对象基础知识       

 
下列关于一个类的静态成员的描述中,不正确的是(38) 。
 
 
  A.  类的静态方法只能访问该类的静态数据成员
 
  B.  静态数据成员可被该类的所有方法访问
 
  C.  该类的对象共享其静态数据成员的值
 
  D.  该类的静态数据成员的值不可修改
 
 
 

 
  第40题    2011年下半年  
   19%
(40)设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如下图,其中,(41)在其状态发生改变时,向它..
  第41题    2011年上半年  
   20%
UML的设计视图包含了类、接口和协作,其中,设计视图的静态方面由(39)和(40)表现:动态方面由交互图、(41)表现。
  第45题    2009年上半年  
   14%
当不适合采用生成子类的方法对己有的类进行扩充时,可以采用(43)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使..
   知识点讲解    
   · 面向对象开发技术    · 静态成员
 
       面向对象开发技术
               面向对象分析
               面向对象分析的目的是为了获得对应用问题的理解。理解的目的是确定系统的功能、性能要求。
               面向对象分析包含5个活动,即认定对象、组织对象、描述对象间的相互作用、定义对象的操作和定义对象的内部信息。
                      认定对象
                      在应用领域中,按自然存在的实体确立对象。在定义域中,首先将自然存在的"名词"作为一个对象,这通常是研究问题、定义域实体的良好开始。通过实体间的关系寻找对象常常没有问题,而困难在于寻找(选择)系统关心的实质性对象,实质性对象是系统稳定性的基础。
                      组织对象
                      分析对象间的关系,将相关对象抽象成类,其目的是为了简化关联对象,利用类的继承性建立具有继承性层次的类结构。抽象类时可从对象间的操作或一个对象是另一个对象的一部分来考虑,如房子由门和窗构成,门和窗是房子类的子类。由对象抽象类,通过相关类的继承构造类层次,所以说系统的行为和信息间的分析过程是一种迭代表征过程。
                      描述对象间的相互作用
                      描述出各对象在应用系统中的关系,如一个对象是另一个对象的一部分、一个对象与其他对象间的通信关系等。这样可以完整地描述每个对象的环境,由一个对象解释另一个对象,以及一个对象如何生成另一个对象,最后得到对象的界面描述。
                      定义对象的操作
                      当考虑对象的界面时,自然要考虑对象的操作。其操作有从对象直接标识的简单操作,如创建、增加和删除等;也有更复杂的操作,如将几个对象的信息连接起来。一般而言,应避免对象太复杂,当连接的对象很复杂时,可将其标识为新对象。当确定对象的操作后,再定义对象的内部。对象内部定义包括其内部数据信息、信息存储方法、继承关系以及可能生成的实例数等属性。
               面向对象设计
               面向对象设计的含义是设计分析模型和实现相应源代码,在目标代码环境中这种源代码可被执行。设计期间必须充分考虑系统的稳定性,这会影响系统的结构。
               对象标识期间的目标是分析对象,设计过程也是发现对象的过程,称之为再处理。对象可以用预先开发的源代码实现,称这样的部分为构件。
               面向对象测试
               就测试而言,用面向对象方法开发的系统测试与其他方法开发的系统测试没有什么不同,在所有开发系统中都是根据规范说明来验证系统设计的正确性。程序调试步骤是从最底层开始,从单元测试、综合测试到系统测试。
               一般来说,对面向对象软件的测试可分为下列4个层次进行。
               (1)算法层。测试类中定义的每个方法,基本上相当于传统软件测试中的单元测试。
               (2)类层。测试封装在同一个类中的所有方法与属性之间的相互作用。在面向对象软件中类是基本模块,因此可以认为这是面向对象测试中所特有的模块测试。
               (3)模板层。测试一组协同工作的类之间的相互作用。大体上相当于传统软件测试中的集成测试,但是也有面向对象软件的特点(如对象之间通过发送消息相互作用)。
               (4)系统层。把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。
 
       静态成员
        有时,可能需要一个或多个公共的数据成员能够被类的所有对象共享。在C++中,可以定义静态(static)的数据成员和成员函数。要定义静态数据成员,只要在数据成员的定义前增加static关键字。
        静态数据成员不同于非静态的数据成员,一个类的静态数据成员仅创建和初始化一次,且在程序开始执行的时候创建,然后被该类的所有对象共享,也就是说,静态数据成员不属于对象,而是属于类;而非静态的数据成员则随着对象的创建而多次创建和初始化。
        C++也允许定义static成员函数。与静态数据成员类似,静态成员函数也是属于类。在静态成员函数中,仅能访问静态的数据成员,不能访问非静态的数据成员,也不能调用非静态的成员函数。公有的、静态的成员函数在类外的调用方式为:
        
   题号导航      2011年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第38题    在手机中做本题