1、下面关于面向对象方法中消息的叙述,不正确的是_(2)_。(2)A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D发送与接收消息的通信机制与传统的子程序调用机制不同正确答案:B【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为“面向对象的方法“。面向对象技术中,对象是类的实例。对象有三种成份:_(3)_、属性和方法(或操作)。(3) A. 标识 B. 规则 C. 封装 D. 消息正确答案:A解析:对象有三种成份:标识(对象名)、
2、属性和方法( 或操作 )。 在面向对象技术中,类属是一种_(1)_机制。一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与_(2)_的那些部分,而用变元来表示与_(3)_的那些部分。(1)A.包含多态 B.参数多态 C.过载多态 D.强制多态(2)A.具体对象无关 B.具体类型无关 C.具体对象相关 D.具体类型相关(3)A.具体对象无关 B.具体类型无关 C.具体对象相关 D.具体类型相关解析:在面向对象技术中,对象在收到信息后要予以响应。不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多
3、态成为特定多态。参数多态应用比较广泛,被称为最纯的多态。这是因为同一对象、函数或过程能以一致的形式用于不同的类型。包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。类型的变换可在编译时完成,通常是隐式地进行,当然也可以在动态运行时来做。类属类(generic class)仅描述了适用于一组类型的通用样板,由于其中所处理对象的数据类型尚未确
4、定,因而程序员不可用类属类直接创建对象实例,即一个类属类并不是一种真正的类类型。类属类必须经过实例化后才能成为可创建对象实例的类类型。类属类的实例化是指用某一数据类型替代类属类的类型参数。类属类定义中给出的类型参数称为形式类属参数,类属类实例化时给出的类型参数称为实际类属参数。如果类属类实例化的实际类属参数可以是任何类型,那么这种类属类称为无约束类属类。然而在某些情况下,类属类可能要求实际类属参数必须具有某些特殊的性质,以使得在类属类中可应用某些特殊操作,这种类属类称为受约束类属类。类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成
5、的是_(47)_。(47)A类层次结构 B实例的个数 C多态的种类 D每个实例的初始状态重置的基本思想是通过_(48)_机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。(48)A静态绑定 B对象引用 C类型匹配 D动态绑定OMT 定义了三种模型来描述系统。_(49)_可以用状态图来表示;_(50)_可以用数据流图来表示。_(51)_为上述两种模型提供了基本的框架。(49)A对象模型 B功能模型 C动态模型 D类模型(50)A对象模型 B功能模型 C动态模型 D类模型(51)A对象模型 B功能模型 C动态模型 D类模型 在 UML 提供的图中, _(
6、31)_用于描述系统与外部系统及用户之间的交互;_(32)_用于按时间顺序描述对象间交互。(31)A用例图 B类图 C对象图 D部署图(32)A网络图 B状态图 C协作图 D序列图在关于类的实例化的描述中,正确的是_(45)_。在关于类的实例化的描述中,正确的是_(45)_。(45)A.同一个类的对象具有不同的静态数据成员值B.不同的类的对象具有相同的静态数据成员值C.同一个类的对象具有不同的对象自身引用(this)值D.不同的类的对象具有相同的对象自身引用(this)值正确答案:C学过面向对象编程语言的人,应该对 this 这个关键字并不陌生,它是对象自身引用值。程序当运行时,this 相当
7、于当前类产生对象的名称。所以对于同一个类的对象具有不同的对象自身引用(this)值。在某个信息系统中,存在如下的业务陈述:一个客户提交 0 个或多个订单;一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“订单”类的实例,存在_(46)_“客户”类的实例;对应每个“客户”类的实例,存在_(47)_个“订单”类的实例。(46)A.0 个 B.1 个 C.1 个或多个 D.0 个或多个(47)A.0 个 B.1 个 C.1 个或多个 D.0 个或多个下列关于静态多态实现重载的描述中正确的是_(30)_。(30)A.重载的方法(函数)的方法名(函数名)可以不同B.重
8、载的方法(函数)必须在返回值类型以及参数类型上有所不同C.重载的方法(函数)必须在参数顺序或参数类型上有所不同D.重载的方法(函数)只需在返回值类型上有所不同试题(30)分析 方法的重载必须保证方法的签名不同,所谓方法的签名是指函数或方法的名字和参数的类型和参数的顺序。重载要求在参数的顺序或者参数的类型上有所不同,对返回值没有要求。 参考答案 (30)C 程序设计语言提供了基本类型及其相关的操作,而_(31)_则允许开发者自定义一种新的类型及其相关的操作。供选择的答案:(31)A.对象 B.实例 C.类 D.引用试题(31)分析 类是能够由用户定义的一种新的类型。对象是类的实例。参考答案 (3
9、1)C_(32)_表示了对象间“is-a”的关系。供选择的答案:(32)A.组合 B.引用 C.聚合 D.继承试题(32)分析 继承表达了子类对象是一种父类对象的关系。 参考答案 (32)D若对象 A 可以给对象 B 发送消息,那么_(48)_。供选择的答案:(48)A.对象 B 可以看见对象 A B.对象 A 可看见对象 BC.对象 A、B 相互不可见 D.对象 A、B 相互可见试题(48)分析 对象 A 可以给对象 B 发送消息,那么表明对象 A 可以调用对象 B 的方法,那么对象 A 可以看见对象 B。 参考答案 (48)B类描述了一组对象共同的特性,下列叙述中正确的是_(49)_。供选
10、择的答案:(49)A.类本身不能具有变量 B.对象具有类定义的所有变量的一份拷贝C.对象间不能共享类定义的变量 D.可通过类名访问静态变量(类变量)试题(49)分析 类也可以有变量,所有类的对象都共享此类的变量。 参考答案 (49)D_(50)_反映了类间的一种层次关系,而_(51)_反映了一种整体与部分的关系。(50)A.继承 B.组合 C.封装 D.多态(51)A.继承 B.组合 C.封装 D.多态试题(50)、(51)分析 继承反映了类间的一种层次关系,而组合反映了一种整体与部分的关系。参考答案 (50)A (51)B 试题(52) 下列叙述中正确的是_(52)_。供选择的答案:(52)
11、A.面向对象程序设计语言都不支持过程化的程序设计B.面向对象系统只可采用面向对象程序设计语言实现C.某些过程化程序设计语言也可实现面向对象系统D.面向对象程序设计语言不支持对成员变量的直接访问试题(52)分析 某些面向对象的程序设计语言支持过程化的程序设计,过程化的程序设计语言也可实现面向对象系统。 参考答案 (52)C 在面向对象软件开发过程中,采用设计模式(37) 。(37)A允许在非面向对象程序设计语言中使用面向对象的概念B以复用成功的设计和体系结构C以减少设计过程创建的类的个数D以保证程序的运行速度达到最优值 以下关于单身模式(Singleton)的描述中,正确的是(38) 。(38)
12、A它描述了只有一个方法的类的集合B它能够保证一个类只产生一个唯一的实例C它描述了只有一个属性的类的集合D它能够保证一个类的方法只能被个唯一的类调用正确答案:B单身模式(Singleton 是一种创建型模式。创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的对象。对于系统中的某些类而言,只有一个实例是很重要的。单身模式的意图就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 下列关于一个类的静态成员的描述中,不正确的是(39) 。(39)A该类的对象共享其静态成员变量的值B静态成员变量可被该类的所有方法访问C该类的静态方法只能访问该类的静态成员变量D该类的静态数据
13、成员变量的值不可修改 在 MVC(模型视图控制器)模式中,视图部分描述的是(40) 。(40)A将应用问题域中包含的抽象领域知识呈现给用户的方式B应用问题域中所包含的抽象类C用户界面对用户输入的响应方式D应用问题域中包含的抽象领域知识正确答案:A解析:MVC 模式,即模型 视图 控制(Model-View-Controller) 模式,它实际上是一种架构模式,是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地体现了数据层与表示层的分离。MCV 把应用程序分为 3 种对象类型。. 模型:应用问题域中包含的抽象领域知识;. 视图:将应用问题域中包含的抽象领域知识呈现给用户的方法:一个
14、模型可以用于多个视图;. 控制器:用户界面对用户输入的响应方式。 对于如下所示的 UML 类图,正确的描述是(41) 。(41)A类 B 的实例中包含了对类 C 的实例的引用B类 A 的实例中包含了对类 B 的实例的引用C类 A 的实例中包含了对类 C 的实例的引用D类 B 的实例中包含了对类 A 的实例的引用正确答案:B解析:UML 类图一般包含 3 个组成部分。第一个是类名,第二个是属性,第三个是该类提供的方法(类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类。
15、属性和方法书写规范:修饰符描述信息属性、方法名称 参数:返回类型|类型属性和方法之前可附加的可见性修饰符:加号(+)表示 public,减号(-)表示 private,#号表示 protected,省略这些修饰符表示具有 package(包)级别的可见性。如果属性或方法具有下画线,则说明它是静态的。类的性质是由一个属性、一个赋值方法和一个取值方法组成的。书写方式和方法类似。常见的关系有一般化关系、实现关系、聚合关系、合成关系和依赖关系。请注意不同关系在图中连线表示的不同。一般化关系表示类与类、接口与接口之间的继承关系。关系中的箭头由子类指向父类。在 Java 中,用 extends 关键字来直
16、接表示这种关系。 UML 中关联的多重度是指(42) 。(42)A一个类有多少个方法被另一个类调用B一个类的实例能够与另一个类的多少个实例相关联C一个类的某个方法被另一个类调用的次数D两个类所具有的相同的方法和属性 已知 3 个类 A、B 和 C,其中类 A 由类 B 的一个实例和类 C 的 1 个或多个实例构成。能够正确表示类 A、B 和 C 之间关系的 UML 类图是(43) 。正确答案:A解析:类 A 由类 B 的一个实例和类 C 伪 1 个或多个实例构成,可见这是整体与部分的关系。在 UML 中,用聚集来表示“整体与部分”这种关联,在整体一端连接个空心菱形。再根据上题中重复度的解释,显
17、然选择 A。选项 B 是普通关联,不能准确描述题目要求。* 面向对象分析的第一步是(33).(33)A定义服务 B确定附加的系统约束C确定问题域 D定义类和对象 面向对象程序设计语言为(34)提供支持。(34)A面向对象用例设计阶段 B面向对象分析阶段C面向对象需求分析阶段 D面向对象实现阶段 下面关于面向对象的描述正确的(35)。(35)A针对接口编程,而不是针对实现编程B针对实现编程,而不是针对接口编程C接口与实现不可分割D优先使用继承而非组合 下面关于 UML 文档的叙述中正确的是(36)。(36)AUML 文档指导开发人员如何进行面向对象分析BUML 文档描述了面向对象分析与设计的结果
18、CUML 文档给出了软件的开发过程和设计流程DUML 文档指导开发人员如何进行面向对象设计解析:UML 文档仅是设计者与开发人员采用 UML 语言进行系统分析与设计的结果,并没有给出如何进行系统开发和采用哪种开发流程,它也不指导开发人员如何进行面向对象设计。 UML 的设计视图包含了类、接口和协作,其中,设计视图的静态方面由(37)和(38)表现;动态方面由交互图、(39)表现。(37)A类图 B状态图 C活动图 D用例图(38)A状态图 B顺序图 C对象图 D活动图(39)A状态图和类图 B类图和活动图C对象图和状态图 D状态图和活动图 UML 中的构件是遵从一组接口并提供一组接口的实现,下
19、列说法错误的是(40)。(40)A构件应是可替换的 B构件表示的是逻辑模块而不是物理模块C构件应是组成系统的一部分 D构件与类处于不同的抽象层次正确答案:B解析:构件应该是物理模块而不是逻辑模块。 设计模式具有(41)的优点。(41)A适应需求变化 B程序易于理解C减少开发过程中的代码开发工作量 D简化软件系统的设计 下面的(42)模式将对象组合成树形结构以表示“部分一整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。(42)A组合(Composite) B桥接(Bridge)C修饰(Decorator) D外观(Facade) 下图描述了一种设计模式,该设计模式不可以(43)
20、。(43)A动态决定由一组对象中某个对象处理该请求B动态指定处理一个请求的对象集合,并高效率地处理一个请求C使多个对象都有机会处理请求,避免请求的发送者和接收者间的祸合关系D将对象连成一条链,并沿着该链传递请求处理一个请求的物件集合可以被动态的指定,但并不见得高效率. 在面向对象程序设计中,常常将接口的定义与接口的实现相分离,可定义不同的类实现相同的接口。在程序运行过程中,对该接口的调用可根据实际的对象类型调用其相应的实现。为达到上述目的,面向对象语言须提供(44)机制。(44)A继承和过载(overloading) B抽象类C继承和重置(overriding) D对象目身引用超载即为重载,重
21、置是覆盖.(也是动态绑定,多态) 面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,(36)不属于面向对象分析阶段。(36)A. 构建分析模型 B. 识别分析类 C.确定接口规格 D. 评估分析模型 在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为 1640,则根据黑盒测试中的等价类划分技术,下面划分正确的是(37) 。(37)A. 可划分为 2 个有效等价类,2 个无效等价类B. 可划分为 1 个有效等价类,2 个无效等价类C. 可划分为 2 个有效等价类,1 个无效等价类D. 可划分为 1 个有效等价类,1 个无效等价类 面向对象分析需要找出软件需求中客观存在的
22、所有实体对象(概念),然后归纳、抽象出实体类。(38)是寻找实体对象的有效方法之一。(38)A. 会议调查 B. 问卷调查 C. 电话调查 D. 名词分析 在“模型视图控制器”(MVC)模式中,(39) 主要表现用户界面, (40)用来描述核心业务逻辑。(39)A. 视图 B. 模型 C. 控制器 D. 视图和控制器(40)A. 视图 B. 模型 C. 控制器 D. 视图和控制器 在进行面向对象设计时,采用设计模式能够(41)。(41)A. 复用相似问题的相同解决方案 B. 改善代码的平台可移植性C. 改善代码的可理解性 D. 增强软件的易安装性 下面给出了四种设计模式的作用:外观(Facad
23、e):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用;装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;单件(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点;模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(42)设计模式能够有效达到该目的;该系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(43) 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类( TextView )和图片显示类(PictureView )