【计算机类职业资格】软件设计师-面向对象技术(一)及答案解析.doc

上传人:figureissue185 文档编号:1340456 上传时间:2019-10-17 格式:DOC 页数:17 大小:78.50KB
下载 相关 举报
【计算机类职业资格】软件设计师-面向对象技术(一)及答案解析.doc_第1页
第1页 / 共17页
【计算机类职业资格】软件设计师-面向对象技术(一)及答案解析.doc_第2页
第2页 / 共17页
【计算机类职业资格】软件设计师-面向对象技术(一)及答案解析.doc_第3页
第3页 / 共17页
【计算机类职业资格】软件设计师-面向对象技术(一)及答案解析.doc_第4页
第4页 / 共17页
【计算机类职业资格】软件设计师-面向对象技术(一)及答案解析.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、软件设计师-面向对象技术(一)及答案解析(总分:46.00,做题时间:90 分钟)(8) 反映了类间的一种层次关系,而 (9) 反映了一种整体与部分的关系。(分数:2.00)A.继承B.组合C.封装D.多态A.继承B.组合C.封装D.多态1.若对象 A 可以给对象 B 发送消息,那么 (6) 。(分数:1.00)A.对象 B 可以看见对象 AB.对象 A 可看见对象 BC.对象 A,B 相互不可见D.对象 A,B 相互可见2.在关于类的实例化的描述中,正确的是 (20) 。(分数:1.00)A.同一个类的对象具有不同的静态数据成员值B.不同的类的对象具有相同的静态数据成员值C.同一个类的对象具

2、有不同的对象自身引用(this)值D.不同的类的对象具有不同的对象自身引用(this)值已知 3 个类 O,P 和 Q,类 O 中定义了一个私有方法 F1和一个公有方法 F2,类 P 中定义了一个公有方法F3,类 P 为类 O 的派生类,类 Q 为类 P 的派生类,它们的继承方式如下所示:class P: public Oclass Q: private P;在关于类 P 的描述中正确的是 (10) ,在关于类 Q 的描述中正确的是 (11) 。(分数:2.00)A.类 P 的对象可以访问 F1,但不能访问 F2B.类 P 的对象可以访问 F2,但不能访问 F1C.类 P 的对象既可以访问 F

3、1,也可以访问 F2D.类 P 的对象既不能访问 F1,也不能访问 F2A.类 Q 的对象可以访问 F1,F 2和 F3B.类 Q 的对象可以访问 F2和 F3,但不能访问 F1C.类 Q 的成员可以访问 F2和 F3,但不能访问 F1D.类 Q 的成员不能访问 F1,F 2和 F33.以下关于单身模式(Singleton)的描述中,正确的是 (45) 。(分数:1.00)A.它描述了只有一个方法的类的集合B.它能够保证一个类只产生一个惟一的实例C.它描述了只有一个属性的类的集合D.它能够保证一个类的方法只能被一个惟一的类调用关于方法 F1的描述中正确的是 (2) ,关于方法 F2的描述中正确

4、的是 (3) ,关于方法 3的描述中正确的是 (4) 。(分数:3.00)A.方法 F1无法被访问B.只有在类 O 内才能访问方法 F1C.只有在类 P 内才能访问方法 F1D.只有在类 Q 内才能访问方法 F1A.类 O,P 和 Q 的对象都可以访问方法 F2B.类 P 和 Q 的对象都可以访问方法 F2C.类 O 和 Q 的对象都可以访问方法 F2D.只有在类 P 内才能访问方法 F2A.类 O,P 和 Q 的对象都可以访问方法 F3B.类 O,P 和 Q 的对象都不可以访问方法 F3C.类 O 和 Q 的对象都可以访问方法 F3D.类 P 和 Q 的对象都可以访问方法 F34.在 C+语

5、言中,若类 C 中定义了一个方法 int (int a,int b),那么方法 (1) 不能与该方法同时存在于类 C 中。(分数:1.00)A.int f(int x,int y)B.int f(float a,int b)C.float f(int x,float y)D.int f(int x,float y)5.下列关于一个类的静态成员的描述中,不正确的是 (5) 。(分数:1.00)A.该类的对象共享其静态成员变量的值B.静态成员变量可被该类的所有方法访问C.该类的静态方法只能访问该类的静态成员变量D.该类的静态数据成员变量的值不可修改6.面向对象的测试可分为四个层次,按照由低到高的顺

6、序,这四个层次是 (13) 。(分数:1.00)A.类层模板层系统层算法层B.算法层类层模板层系统层C.算法层模板层类层系统层D.类层系统层模板层算法层7. (12) 表示了对象间“is a”的关系。(分数:1.00)A.组合B.引用C.聚合D.继承8.下面关于面向对象方法中消息的叙述,不正确的是 (14) 。(分数:1.00)A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同9.面向对象技术中,对象是类的实例。对象有三种成分: (1

7、5) 、属性和方法(或操作)。(分数:1.00)A.标识B.规则C.封装D.消息10.已知 3 个类 A,B 和 C,其中类 A 由类 B 的一个实例和类 C 的 1 个或多个实例构成。能够正确表示类A,B 和 C 之间关系的 UML 类图是 (30) 。(分数:1.00)A.B.C.D.11.UML 中关联的多重度是指 (29) 。(分数:1.00)A.一个类有多少个方法被另一个类调用B.一个类的实例能够与另一个类的多少个实例相关联C.一个类的某个方法被另一个类调用的次数D.两个类所具有的相同的方法和属性12.在面向对象软件开发过程中,采用设计模式 (44) 。(分数:1.00)A.允许在非

8、面向对象程序设计语言中使用面向对象的概念B.以复用成功的设计和体系结构C.以减少设计过程创建的类的个数D.以保证程序的运行速度达到最优值OMT 是一种对象建模技术,它定义了三种模型,它们分别是 (39) 模型、 (40) 模型和 (41) 模型,其中,(39) 模型描述了系统中对象的静态结构,以及对象之间的联系; (40) 模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时行为上的系统的“控制”特征,通常可用 (42) 来表示: (41) 模型描述了与值的变换有关的系统特征,通常可用 (43) 来表示。(分数:5.00)A.对象B.功能C.ERD.静态A.控制B.时序C.动态D.实时A.对

9、象B.功能C.变换D.计算A.类图B.状态图C.对象图D.数据流图A.类图B.状态图C.对象图D.数据流图在 UML 提供的图中,可以采用 (33) 对逻辑数据库模式建模; (34) 用于接口、类和协作的行为建模,并强调对象行为的时间顺序; (35) 用于系统的功能建模,并且强调对象间的控制流。(分数:3.00)A.用例图B.构件图C.活动图D.类图A.协作图B.状态图C.序列图D.对象图A.状态图B.用例图C.活动图D.类图在某信息系统中,存在如下的业务陈述:一个客户提交 0 个或多个订单;一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“订单”类的实例,

10、存在 (21) “客户”类的实例;对应每个“客户”类的实例,存在 (22) 个“订单”类的实例。(分数:2.00)A.0 个B.1 个C.1 个或多个D.0 个或多个A.0 个B.1 个C.1 个或多个D.0 个或多个在面向对象技术中,多态有多种不同的形式,其中 (16) 和 (17) 称为通用多态, (18) 和强制多态称为特定多态。(分数:3.00)A.参数多态B.过载多态C.隐含多态D.重置多态A.重置多态B.过载多态C.隐含多态D.包含多态A.参数多态B.隐含多态C.过载多态D.包含多态在面向对象技术中,类属是一种 (25) 机制。一个类属类是关于一组类的一个特性抽象,它强调的是这些类

11、的成员特征中与 (26) 的那些部分,而用变元来表示与 (27) 的那些部分。(分数:3.00)A.包含多态B.参数多态C.过载多态D.强制多态A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关13.类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成的是 (23) 。(分数:1.00)A.类层次结构B.实例的个数C.多态的种类D.每个实例的初始状态在 UML 提供的图中, (31) 用于描述系统与外部系统及用户之间的交互, (32) 用于按时间顺序描述对象

12、间的交互。(分数:2.00)A.用例图B.类图C.对象图D.部署图A.网络图B.状态图C.协作图D.序列图14.对于如图 10-2 所示的 UML 类图,正确的描述是 (28) 。(分数:1.00)A.类 B 的实例中包含了对类 C 的实例的引用B.类 A 的实例中包含了对类 B 的实例的引用C.类 A 的实例中包含了对类 C 的实例的引用D.类 B 的实例中包含了对类 A 的实例的引用15.下列叙述中正确的是 (19) 。(分数:1.00)A.面向对象程序设计语言都不支持过程化的程序设计B.面向对象系统只可采用面向对象程序设计语言实现C.某些过程化程序设计语言也可实现面向对象系统D.面向对象

13、程序设计语言不支持对成员变量的直接访问16.重置的基本思想是通过 (24) 机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。(分数:1.00)A.静态绑定B.对象引用C.类型匹配D.动态绑定17.在 MVC(模型/视图腔制器)模式中,视图部分描述的是 (46) 。(分数:1.00)A.将应用问题域中包含的抽象领域知识呈现给用户的方式B.应用问题域中所包含的抽象类C.用户界面对用户输入的响应方式D.应用问题域中包含的抽象领域知识18.类描述了一组对象共同的特性,下列叙述中正确的是 (7) 。(分数:1.00)A.类本身不能具有变量B.对象具有类定义的

14、所有变量的一份拷贝C.对象间不能共享类定义的变量D.可通过类名访问静态变量(类变量)OMT 定义了三种模型来描述系统。 (36) 可以用状态图来表示; (37) 可以用数据流图来表示。 (38) 为上述两种模型提供了基本的框架。(分数:3.00)A.对象模型B.功能模型C.动态模型D.类模型A.对象模型B.功能模型C.动态模型D.类模型A.对象模型B.功能模型C.动态模型D.类模型软件设计师-面向对象技术(一)答案解析(总分:46.00,做题时间:90 分钟)(8) 反映了类间的一种层次关系,而 (9) 反映了一种整体与部分的关系。(分数:2.00)A.继承 B.组合C.封装D.多态解析:A.

15、继承B.组合 C.封装D.多态解析:分析 面向对象方法的一些概念如下。继承:是父类和子类间共享数据和方法的机制,反映了类间层次关系。组合:又称聚合,是由一些被称为成分的对象构成的对象。封装:封装把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。多态:不同对象对同一消息的不同响应。1.若对象 A 可以给对象 B 发送消息,那么 (6) 。(分数:1.00)A.对象 B 可以看见对象 AB.对象 A 可看见对象 B C.对象 A,B 相互不可见D.对象 A,B 相互可见解析:分析 消息的对象间通信中指一个对象通过向另一对象发送消息来请求其服务。一个消息通常包括接收对象名、调用

16、的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,但并不能指示接收者怎样完成操作。消息完全向接收者解释,接收者独立决定采用什么方法来完成所需的操作。因此,A 可以看见 B,B 不一定能看见 A。2.在关于类的实例化的描述中,正确的是 (20) 。(分数:1.00)A.同一个类的对象具有不同的静态数据成员值B.不同的类的对象具有相同的静态数据成员值C.同一个类的对象具有不同的对象自身引用(this)值 D.不同的类的对象具有不同的对象自身引用(this)值解析:分析 由同一个类实例化得到的不同对象具有相同的数据成员,但数据成员的值是不同的。静态数据成员用来实现同一个类的不同对

17、象之间的数据共享。同一个类的不同对象共享静态数据成员值,当通过一个对象改变了静态数据成员的值时,通过同类的其他对象可以看到这个修改。因此选项 A,B 关于静态数据成员的描述都是错误的。对象自身引用是面向对象程序设计中特有的且十分重要的机制。每个对象都有属于自己的对象自身引用值。已知 3 个类 O,P 和 Q,类 O 中定义了一个私有方法 F1和一个公有方法 F2,类 P 中定义了一个公有方法F3,类 P 为类 O 的派生类,类 Q 为类 P 的派生类,它们的继承方式如下所示:class P: public Oclass Q: private P;在关于类 P 的描述中正确的是 (10) ,在关

18、于类 Q 的描述中正确的是 (11) 。(分数:2.00)A.类 P 的对象可以访问 F1,但不能访问 F2B.类 P 的对象可以访问 F2,但不能访问 F1 C.类 P 的对象既可以访问 F1,也可以访问 F2D.类 P 的对象既不能访问 F1,也不能访问 F2解析:A.类 Q 的对象可以访问 F1,F 2和 F3B.类 Q 的对象可以访问 F2和 F3,但不能访问 F1C.类 Q 的成员可以访问 F2和 F3,但不能访问 F1 D.类 Q 的成员不能访问 F1,F 2和 F3解析:分析 继承机制是面向对象技术提供的一种解决软件复用问题的途径,即在定义一个新的类时,先把一个或多个已有类的功能

19、全部包含进来,然后再给出新功能的定义或对已有类的功能重新定义。在继承关系中存在两个类,即基类和派生类。继承的方式有 public,private 和 protected 3 种。在不同的继承方式下,派生类对基类成员的访问权限不同,外界对派生类成员的能见度也不同。(1)基类中成员在派生类中的访问权限public:不改变基类中成员的访问权限:private:派生类所继承的基类成员的访问权限都改为 private:protected:基类中 private 成员的访问权限不变,其余的都改为 protected。(2)派生类所继承的基类成员的外部能见度基类的 private 成员只有基类的成员函数可以

20、访问,派生类不能访问。通过 private 方式继承的基类成员只有派生类的成员函数可以访问,外界以及派生类的派生类都不能访问。通过 protected 方式继承的基类成员只有派生类以及该派生类的子类可以访问,外界不能访问。本题考查的是外界对派生类中继承的基类成员的访问权限。解答此题的关键在于确定基类中成员在派生类中的访问权限,尤其是类 Q,它是经过两次继承得到的,Q 的直接基类是 P,而 P 又是由 O 派生出来的。首先应注意到类 O 中有一个私有方法 F1。类的私有成员只有在本类中才能访问,因此凡是出现“可以访问F1”的选项都是错误的,这样对于空(1)而言,选项 A,C 就可以排除了。其次,

21、P 是采用 public 继承方式从 O 派生而来的,那么类 O 中的所有公有成员都是 P 的公有成员,在程序中的任何地方都可以访问一个类的公有成员,因此只有选项 B 是正确的。通过继承,F 1,F 2,F 3都成为类 Q 的成员。由上一题的选择可知,F 1是不可以被外界访问的,因此凡是出现“可以访问 F1”的选项都是错误的,这样 A 就被排除了。由于 Q 采用的是 private 继承方式,P 中的成员都成为 Q 的 private 成员,即 F2,F 3都是 Q 的 private 成员。私有成员只有本类可以访问,所以 Q 的对象不能访问 F2和 F3,只有 Q 的成员才能访问它们。因此选

22、项 C 是正确答案。3.以下关于单身模式(Singleton)的描述中,正确的是 (45) 。(分数:1.00)A.它描述了只有一个方法的类的集合B.它能够保证一个类只产生一个惟一的实例 C.它描述了只有一个属性的类的集合D.它能够保证一个类的方法只能被一个惟一的类调用解析:分析 面向对象的单身模式是指一个类只能产生惟一一个实例。关于方法 F1的描述中正确的是 (2) ,关于方法 F2的描述中正确的是 (3) ,关于方法 3的描述中正确的是 (4) 。(分数:3.00)A.方法 F1无法被访问B.只有在类 O 内才能访问方法 F1 C.只有在类 P 内才能访问方法 F1D.只有在类 Q 内才能

23、访问方法 F1解析:A.类 O,P 和 Q 的对象都可以访问方法 F2B.类 P 和 Q 的对象都可以访问方法 F2C.类 O 和 Q 的对象都可以访问方法 F2 D.只有在类 P 内才能访问方法 F2解析:A.类 O,P 和 Q 的对象都可以访问方法 F3B.类 O,P 和 Q 的对象都不可以访问方法 F3 C.类 O 和 Q 的对象都可以访问方法 F3D.类 P 和 Q 的对象都可以访问方法 F3解析:分析 继承机制是面向对象技术提供的一种解决软件复用问题的途径,即在定义一个新的类时,先把一个或多个已有类的功能全部包含进来,然后再给出新功能的定义或对已有类的功能重新定义。在继承关系中存在两

24、个类,即基类和派生类。继承的方式有 pubfic,private 和 proteted 三种。在不同的继承方式下,派生类对基类成员的访问权限不同,外界对派生类成员的能见度也不同。(1)基类中成员在派生类中的访问权限public:不改变基类中成员的访问权限;private:派生类所继承的基类成员的访问权限都改为 private;protected:基类中 private 成员的访问权限不变,其余的都改为 protected。(2)派生类所继承的基类成员的外部能见度基类的 private 成员只有基类的成员函数可以访问,派生类不能访问。通过 private 方式继承的基类成员只有派生类的成员函数可

25、以访问,外界以及派生类的派生类都不能访问。通过 protected 方式继承的基类成员只有派生类以及该派生类的子类可以访问,外界不能访问。4.在 C+语言中,若类 C 中定义了一个方法 int (int a,int b),那么方法 (1) 不能与该方法同时存在于类 C 中。(分数:1.00)A.int f(int x,int y) B.int f(float a,int b)C.float f(int x,float y)D.int f(int x,float y)解析:分析 A 选项中定义的方法与题中所定义的方法实质上是一样的。字母只是作为形参参与计算,用什么字母都无所谓。已知 3 个类 O

26、,P 和 Q,类 O 中定义了一个私有方法 F1、一个公有方法 F2和一个受保护的方法 F3,类 P 和类 Q 是类 O 的派生类,其继承方式如下所示:class P:protected O);class Q:public O;5.下列关于一个类的静态成员的描述中,不正确的是 (5) 。(分数:1.00)A.该类的对象共享其静态成员变量的值B.静态成员变量可被该类的所有方法访问C.该类的静态方法只能访问该类的静态成员变量D.该类的静态数据成员变量的值不可修改 解析:分析 静态成员的提出是为了解决数据共事的问题。实现共享有许多方法,如设置全局性的变量或对象。但是,全局变量或对象是有局限性的。在类

27、中,静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象共享的成员,而不是某个对象的成员。使用静态数据成员可以节省内存,因为它是所有对象所公有的,因此,对多个对象来说,静态数据成员只存储于一处,供所有对象共用。静态数据成员的值对每个对象都是一样的,但它的值是可以更新的。只要对静态数据成员的值更新一次,保证所有对象存取更新后的相同的值,这样可以提高时间效率。静态数据成员的使用方法和注意事项如下。1静态数据成员在定义或说明时前面加关键字 static。2静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:数

28、据类型类名:静态数据成员名=值3静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。4引用静态数据成员时,采用如下格式:类名:静态成员名静态成员函数和静态数据成员一样,它们都属于类的静态成员,它们都不是对象成员。因此,对静态成员的引用不需要用对象名。 在静态成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员。如果静态成员函数中要引用非静态成员,可通过对象来引用。6.面向对象的测试可分为四个层次,按照由低到高的顺序,这四个层次是 (13) 。(分数:1.00)A.类层模板层系统层算法层B.算法层类层模板层系统层 C.算法层模板层类层系统层D.类层系统层模板层算

29、法层解析:分析 本题考查的是面向对象方面的基础知识。模块是面向对象语言所提供的一种特殊机制,通过模块可以定义一种特殊的类。在类的定义中可以包含待定的类型参数,在声明类的实例时,系统会自动根据传递的类型生成用户想要生成的类实例。面向对象的测试按照由低到高的顺序可以分成的四个层次,依次如下。(1)测试与对象关联的单个操作,即算法层。(2)测试单个对象类,即类层。(3)测试对象类群,即模板层。(4)测试面向对象系统,即系统层。7. (12) 表示了对象间“is a”的关系。(分数:1.00)A.组合B.引用C.聚合D.继承 解析:分析 为了支持“抽象”,并有效地控制信息组织,OSA 引入 3 种特殊

30、关系集合。is a:一个对象类中的每一个对象是另一个对象类的一个对象。“is a”通常表达继承关系。继承是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个父类可以有多个子类,这些子类都是父类的特例。父类描述了这些子类的公共属性和操作,子类中还可以定义它自己的属性和操作。一个子类只有惟一的一个父类,这种继承称为单一继承。一个子类有多个父类,可以从多个父类中继承特性,这种继承称为多重继承。is part of:一个对象,称之为聚合,是由一些被称为成分的对象构成的。聚合是分析中常用的一种组合。is member of:由对象构成的集合,并把这样的集合看成一个对象,属于联合关系。8.下面关于

31、面向对象方法中消息的叙述,不正确的是 (14) 。(分数:1.00)A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C.应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同解析:分析 对象是类的实例。尽管对象的表示在形式上与一般数据类型十分相似,但是它们之间存在一种本质区别,即对象之间通过消息传递方式进行通信。消息传递原是一种与通信有关的概念,OOP 使得对象具有交互能力的主要模型就是消息传递模型。对象被看成用传递消息的方式互相联系的通信实体,它们既可以接收,也可以拒绝外界发来的消息。

32、一般情况下,对象接收它能够识别的消息,拒绝它不能识别的消息。对于一个对象而言,任何外部的代码都不能以任何不可预知或实现不允许的方式与这个对象进行交互。因此;选项 B 是不正确的。因为操作系统是计算机系统中的管理者和控制者,所以通常是由应用程序向操作系统发送消息,操作系统根据接收到的消息进行处理。9.面向对象技术中,对象是类的实例。对象有三种成分: (15) 、属性和方法(或操作)。(分数:1.00)A.标识 B.规则C.封装D.消息解析:分析 对象体现了数据抽象的思想,它是一种数据以及在其上的操作的封装体。对象的三种成分是标识、属性和方法。标识给出对象的外部说明;属性描述了对象的数据表示,它被

33、封装在对象内部,属性的值描述了对象的状态;而方法就是施加于属性之上的操作,使用者必须通过方法来存取和操作对象中的数据。10.已知 3 个类 A,B 和 C,其中类 A 由类 B 的一个实例和类 C 的 1 个或多个实例构成。能够正确表示类A,B 和 C 之间关系的 UML 类图是 (30) 。(分数:1.00)A. B.C.D.解析:分析 根据 UML 类图的作图要求,可以解出答案。11.UML 中关联的多重度是指 (29) 。(分数:1.00)A.一个类有多少个方法被另一个类调用B.一个类的实例能够与另一个类的多少个实例相关联 C.一个类的某个方法被另一个类调用的次数D.两个类所具有的相同的

34、方法和属性解析:分析 在 UML 中,重复度定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。12.在面向对象软件开发过程中,采用设计模式 (44) 。(分数:1.00)A.允许在非面向对象程序设计语言中使用面向对象的概念B.以复用成功的设计和体系结构 C.以减少设计过程创建的类的个数D.以保证程序的运行速度达到最优值解析:分析 采用设计模式可复用面向对象软件的基础来构造可复用的面向对象设计。设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时候使用

35、它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。OMT 是一种对象建模技术,它定义了三种模型,它们分别是 (39) 模型、 (40) 模型和 (41) 模型,其中,(39) 模型描述了系统中对象的静态结构,以及对象之间的联系; (40) 模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时行为上的系统的“控制”特征,通常可用 (42) 来表示: (41) 模型描述了与值的变换有关的系统特征,通常可用 (43) 来表示。(分数:5.00)A.对象 B.功能C.ERD.静态解析:A.控制B.时序C.动态 D.实时解析:A.对象B.功能 C.变换D.计算解析:A.类图B.状态图

36、C.对象图D.数据流图解析:A.类图B.状态图C.对象图D.数据流图 解析:分析 OMT(对象建模技术)是一种围绕真实世界的概念来组织模型的软件开发方法。OMT 从问题陈述开始,理解问题陈述中的客观世界,将其本质抽象成模型表示,建立系统的 3 个模型,即对象模型、动态模型和功能模型。对象模型描述了系统中对象的静态结构及对象间的联系,用对象模型图来表示。对象模型图是 ER 图的一种扩展形式。动态模型描述了与时间和操作次序有关的系统属性,动态模型由多张状态图组成。各个类的状态图通过共享事件组成系统的动态模型。功能模型描述系统内数据值的变化,它由数据流图组成。数据流图说明数据流是如何从外部输入、经过

37、操作和内部存储而到外部输出的。在 UML 提供的图中,可以采用 (33) 对逻辑数据库模式建模; (34) 用于接口、类和协作的行为建模,并强调对象行为的时间顺序; (35) 用于系统的功能建模,并且强调对象间的控制流。(分数:3.00)A.用例图B.构件图C.活动图D.类图 解析:A.协作图B.状态图 C.序列图D.对象图解析:A.状态图B.用例图C.活动图 D.类图解析:分析 在 UML 提供的图中,可以采用类图对逻辑数据库模式建模,状态图用于接口、类和协作的行为建模,并强调对象行为的时间顺序,活动图用于系统的功能建模,并强调对象间的控制流。在某信息系统中,存在如下的业务陈述:一个客户提交

38、 0 个或多个订单;一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“订单”类的实例,存在 (21) “客户”类的实例;对应每个“客户”类的实例,存在 (22) 个“订单”类的实例。(分数:2.00)A.0 个B.1 个 C.1 个或多个D.0 个或多个解析:A.0 个B.1 个C.1 个或多个D.0 个或多个 解析:分析 认定类尉象是面向对象分析中的关键步骤。但是对象和类并不是孤立存在的,它们表示的事物相互作用,并且相互影响,以便支持业务任务。存在于一个或者多个对象/类之间的自然业务联系称为对象/类关系。可以使用图形方式说明“客户”类和“订单”类之间的这种

39、关系,如图 10-1 所示。其中连线表示了类之间的关系,UML 称这条线为关联。图中还给出了重复度,即一个对象/类对应相关对象/类的一个实例关联可能的最小出现次数和最大出现次数。*由此可以得到:对应每个订单实例,都必须存在一个客户实例:对应每个客户实例,可能存在 0 个或多个订单实例。在面向对象技术中,多态有多种不同的形式,其中 (16) 和 (17) 称为通用多态, (18) 和强制多态称为特定多态。(分数:3.00)A.参数多态 B.过载多态C.隐含多态D.重置多态解析:A.重置多态B.过载多态C.隐含多态D.包含多态 解析:A.参数多态B.隐含多态C.过载多态 D.包含多态解析:分析 在

40、面向对象技术中,对象在收到消息后要予以响应,不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。在使用多态技术时,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定,这样同一消息就可以调用不同方法。多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态称为特定多态。在面向对象技术中,类属是一种 (25) 机制。一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与 (26) 的那些部分,而用变元来表示与 (27) 的那些部分。(分数:3.00)A.包含多态B.参数多态 C.过载多态D.强制多态解析:A.具体对象无关B.具体类型无关 C.具

41、体对象相关D.具体类型相关解析:A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关 解析:分析 类属是程序设计语言中普遍注重的一种参数多态机制。类属可以被看做类的模板。一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与具体类型无关的那些部分,而与具体类型相关的部分则用变元来表示。这就使得对类的集合也可以按照特性的相似性再次进行划分。13.类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成的是 (23) 。(分数:1.00)A.类层次结构 B.实例的个数C.多态的种类D.每个实例的初始状态解析:分析 与

42、一般数据类型的实例化过程相比,类的实例化过程是一种实例的合成过程,指导编译程序进行这种合成的,就是类层次结构。在 UML 提供的图中, (31) 用于描述系统与外部系统及用户之间的交互, (32) 用于按时间顺序描述对象间的交互。(分数:2.00)A.用例图 B.类图C.对象图D.部署图解析:A.网络图B.状态图C.协作图D.序列图 解析:分析 UML 提供了 9 种不同的模型图来对系统建模。用例图:以图形化的方式描述系统与外部系统及用户的交互。类图:描述系统的对象结构,它们显示构成系统的对象类以及这些对象类之间的关系。对象图:类似于类图,但并不描述对象类,它们对实际的对象实例建模。序列图:以

43、图形化的方式描述了在一个用例或操作执行过程中对象如何通过消息互相交互,说明了消息如何在对象之间被发送和接收以及发送的顺序。协作图:类似于序列图,但重点不是消息的时间顺序。它以一种网络格式表现对象之间的交互。状态图:用于对一个特定对象的动态行为建模,说明了一个对象的生命周期,以及引起对象从一个状态向另一个状态转换的事件。活动图:用于以图形化的方式描述一个业务过程或者一个用例的活动的顺序流。构件图:用于以图形化的方式描述系统的物理结构,它可以用来显示程序代码如何分解成模块。部署图:描述系统中硬件和软件的物理架构。它描述构成系统架构的软件构件、处理器和设备。14.对于如图 10-2 所示的 UML

44、类图,正确的描述是 (28) 。(分数:1.00)A.类 B 的实例中包含了对类 C 的实例的引用B.类 A 的实例中包含了对类 B 的实例的引用 C.类 A 的实例中包含了对类 C 的实例的引用D.类 B 的实例中包含了对类 A 的实例的引用解析:分析 UML 类图一般包含 3 个组成部分。第一个是类名,第二个是属性,第三个是该类提供的方法(类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类。属性和方法书写规范:修饰符描述信息属性、方法名称参数:返回类型|类型属性和

45、方法之前可附加的可见性修饰符:加号(+)表示 public,减号(-)表示 private,#号表示 protected,省略这些修饰符表示具有 package(包)级别的可见性。如果属性或方法具有下画线,则说明它是静态的。类的性质是由一个属性、一个赋值方法和一个取值方法组成的。书写方式和方法类似。常见的关系有一般化关系、实现关系、聚合关系、合成关系和依赖关系。请注意不同关系在图中连线表示的不同。一般化关系表示类与类、接口与接口之间的继承关系。关系中的箭头由子类指向父类。在 Java 中,用extends 关键字来直接表示这种关系。15.下列叙述中正确的是 (19) 。(分数:1.00)A.面

46、向对象程序设计语言都不支持过程化的程序设计B.面向对象系统只可采用面向对象程序设计语言实现C.某些过程化程序设计语言也可实现面向对象系统 D.面向对象程序设计语言不支持对成员变量的直接访问解析:分析 从程序设计方法的角度看,面向对象是一种新的程序设计范型(paradigm),其基本思想是使用对象、类、继承、封装、聚合、关联、消息、多态性等基本概念来进行程序设计。面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。面向对象程序语言有 Smalltalk,Eiffel,C+和 Java。面向对象方法与面向对象语言并没有严格的对应,一个面向对象系统也可

47、以用非面向对象的语言,有的面向对象语言也支持面向过程。例如,C+既支持面向过程也支持面向对象。16.重置的基本思想是通过 (24) 机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。(分数:1.00)A.静态绑定B.对象引用C.类型匹配D.动态绑定 解析:分析 重置的基本思想是通过一种动态绑定机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。在面向对象程序设计语言中,重置机制有相应的语法供开发人员选择使用。在 C+语言中,通过虚拟函数的定义来进行重置的声明,通过虚拟函数跳转表结构来实现重置方法体的动态绑定。

48、在 Java 语言中,通过抽象方法来进行重置的声明,通过方法查找实现重置方法体的动态绑定。17.在 MVC(模型/视图腔制器)模式中,视图部分描述的是 (46) 。(分数:1.00)A.将应用问题域中包含的抽象领域知识呈现给用户的方式 B.应用问题域中所包含的抽象类C.用户界面对用户输入的响应方式D.应用问题域中包含的抽象领域知识解析:分析 MVC 模式分离开发角色,它很清楚地划定了程序员与设计者的角色界限。换句话说,从商业逻辑上拆解了数据。这种模式是让设计者集中于设计应用程序的显示部分,而开发者则集中于开发驱动应用程序功能所需的组件。MVC 模式有好几种变异,不过它们都是基于相同的基础结构:

49、应用程序的数据模型 (Model),代码显示(View),以及程序控制逻辑(Controller)是存在其中的独立的但能相互间通信的组件。模型组件描述并处理应用程序数据。视图指的是用户接口,它反映的是模型数据并把它递交给用户。控制器是将视图上的行为映射到模型上的操作。模型更新后,视图也被更新,用户就能够完成更多行为。MVC 模式使代码易懂而且使代码更容易重用。另外,在很多工程中视图经常要被更新,MVC 模式将模型和控制器与这些所做的更改独立开来。18.类描述了一组对象共同的特性,下列叙述中正确的是 (7) 。(分数:1.00)A.类本身不能具有变量B.对象具有类定义的所有变量的一份拷贝C.对象间不能共享类定义的变量D.可通过类名访问静态变量(类变量) 解析:分析 类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(Instance)。类是在对象之上的抽象,对象是类的具体化,是类的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1