面向对象技术详解.docx

上传人:b****2 文档编号:2437554 上传时间:2022-10-29 格式:DOCX 页数:20 大小:424.86KB
下载 相关 举报
面向对象技术详解.docx_第1页
第1页 / 共20页
面向对象技术详解.docx_第2页
第2页 / 共20页
面向对象技术详解.docx_第3页
第3页 / 共20页
面向对象技术详解.docx_第4页
第4页 / 共20页
面向对象技术详解.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

面向对象技术详解.docx

《面向对象技术详解.docx》由会员分享,可在线阅读,更多相关《面向对象技术详解.docx(20页珍藏版)》请在冰豆网上搜索。

面向对象技术详解.docx

面向对象技术详解

●下面关于面向对象方法中消息的叙述,不正确的是____

(2)__。

(2)A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息

B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息

C.应用程序之间可以相互发送消息

D.发送与接收消息的通信机制与传统的子程序调用机制不同

正确答案:

B

【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为"面向对象的方法"。

●面向对象技术中,对象是类的实例。

对象有三种成份:

____(3)____、属性和

方法(或操作)。

(3)A.标识B.规则C.封装D.消息

正确答案:

A

解析:

对象有三种成份:

标识(对象名)、属性和方法(或操作)。

●在面向对象技术中,类属是一种__

(1)__机制。

一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与__

(2)__的那些部分,而用变元来表示与__(3)__的那些部分。

(1)A.包含多态B.参数多态C.过载多态D.强制多态

(2)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关

(3)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关

解析:

在面向对象技术中,对象在收到信息后要予以响应。

不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。

多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。

参数多态应用比较广泛,被称为最纯的多态。

这是因为同一对象、函数或过程能以一致的形式用于不同的类型。

包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。

过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。

即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。

强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。

类型的变换可在编译时完成,通常是隐式地进行,当然也可以在动态运行时来做。

类属类(generic class)仅描述了适用于一组类型的通用样板,由于其中所处理对象的数据类型尚未确定,因而程序员不可用类属类直接创建对象实例,即一个类属类并不是一种真正的类类型。

类属类必须经过实例化后才能成为可创建对象实例的类类型。

类属类的实例化是指用某一数据类型替代类属类的类型参数。

类属类定义中给出的类型参数称为形式类属参数,类属类实例化时给出的类型参数称为实际类属参数。

如果类属类实例化的实际类属参数可以是任何类型,那么这种类属类称为无约束类属类。

然而在某些情况下,类属类可能要求实际类属参数必须具有某些特殊的性质,以使得在类属类中可应用某些特殊操作,这种类属类称为受约束类属类。

●类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。

指导编译程序进行这种合成的是_(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提供的图中,____(31)____用于描述系统与外部系统及用户之间的交互;___(32)___用于按时间顺序描述对象间交互。

(31)A.用例图B.类图C.对象图D.部署图

(32)A.网络图B.状态图C.协作图D.序列图

在关于类的实例化的描述中,正确的是__(45)___。

●在关于类的实例化的描述中,正确的是__(45)___。

(45)A.同一个类的对象具有不同的静态数据成员值

B.不同的类的对象具有相同的静态数据成员值

C.同一个类的对象具有不同的对象自身引用(this)值

D.不同的类的对象具有相同的对象自身引用(this)值

正确答案:

C

   学过面向对象编程语言的人,应该对this这个关键字并不陌生,它是对象自身引用值。

程序当运行时,this相当于当前类产生对象的名称。

所以对于同一个类的对象具有不同的对象自身引用(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.重载的方法(函数)必须在返回值类型以及参数类型上有所不同

C.重载的方法(函数)必须在参数顺序或参数类型上有所不同

D.重载的方法(函数)只需在返回值类型上有所不同

试题(30)分析 

    方法的重载必须保证方法的签名不同,所谓方法的签名是指函数或方法的名字和参数的类型和参数的顺序。

重载要求在参数的顺序或者参数的类型上有所不同,对返回值没有要求。

 参考答案     (30)C 

●程序设计语言提供了基本类型及其相关的操作,而____(31)____则允许开发者自定义一种新的类型及其相关的操作。

供选择的答案:

(31)A.对象B.实例C.类D.引用

试题(31)分析 

类是能够由用户定义的一种新的类型。

对象是类的实例。

参考答案     (31)C

●___(32)___表示了对象间“is-a”的关系。

供选择的答案:

(32)A.组合B.引用C.聚合D.继承

试题(32)分析 

继承表达了子类对象是一种父类对象的关系。

 

参考答案     (32)D

●若对象A可以给对象B发送消息,那么___(48)___。

供选择的答案:

(48)A.对象B可以看见对象AB.对象A可看见对象B

C.对象A、B相互不可见D.对象A、B相互可见

试题(48)分析 

    对象A可以给对象B发送消息,那么表明对象A可以调用对象B的方法,那么对象A可以看见对象B。

 

参考答案     (48)B

●类描述了一组对象共同的特性,下列叙述中正确的是____(49)____。

供选择的答案:

(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)A.面向对象程序设计语言都不支持过程化的程序设计

B.面向对象系统只可采用面向对象程序设计语言实现

C.某些过程化程序设计语言也可实现面向对象系统

D.面向对象程序设计语言不支持对成员变量的直接访问

 试题(52)分析 

    某些面向对象的程序设计语言支持过程化的程序设计,过程化的程序设计语言也可实现面向对象系统。

 参考答案     (52)C

●在面向对象软件开发过程中,采用设计模式(37)。

(37)A.允许在非面向对象程序设计语言中使用面向对象的概念

B.以复用成功的设计和体系结构

C.以减少设计过程创建的类的个数

D.以保证程序的运行速度达到最优值

●以下关于单身模式(Singleton)的描述中,正确的是(38)。

(38)A.它描述了只有一个方法的类的集合

B.它能够保证一个类只产生一个唯一的实例

C.它描述了只有一个属性的类的集合

D.它能够保证一个类的方法只能被—个唯一的类调用

正确答案:

B

单身模式(Singleton是一种创建型模式。

创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的对象。

对于系统中的某些类而言,只有一个实例是很重要的。

单身模式的意图就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。

●下列关于一个类的静态成员的描述中,不正确的是(39)。

(39)A.该类的对象共享其静态成员变量的值

B.静态成员变量可被该类的所有方法访问

C.该类的静态方法只能访问该类的静态成员变量

D.该类的静态数据成员变量的值不可修改

●在MVC(模型/视图/控制器)模式中,视图部分描述的是(40)。

(40)A.将应用问题域中包含的抽象领域知识呈现给用户的方式

B.应用问题域中所包含的抽象类

C.用户界面对用户输入的响应方式

D.应用问题域中包含的抽象领域知识

正确答案:

A

解析:

MVC模式,即模型—视图—控制(Model-View-Controller)模式,它实际上是一种架构模式,是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地体现了数据层与表示层的分离。

 MCV把应用程序分为3种对象类型。

 . 模型:

应用问题域中包含的抽象领域知识;

 . 视图:

将应用问题域中包含的抽象领域知识呈现给用户的方法:

一个模型可以用于多个视图;

 . 控制器:

用户界面对用户输入的响应方式。

●对于如下所示的UML类图,正确的描述是(41)。

(41)A.类B的实例中包含了对类C的实例的引用

B.类A的实例中包含了对类B的实例的引用

C.类A的实例中包含了对类C的实例的引用

D.类B的实例中包含了对类A的实例的引用

正确答案:

B

解析:

UML类图一般包含3个组成部分。

第一个是类名,第二个是属性,第三个是该类提供的方法(类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。

类名部分是不能省略的,其他组成部分可以省略。

类名书写规范:

正体字说明类是可被实例化的,斜体字说明类为抽象类。

属性和方法书写规范:

修饰符[描述信息]属性、方法名称[参数][:

返回类型|类型]属性和方法之前可附加的可见性修饰符:

加号(+)表示public,减号(-)表示private,#号表示protected,省略这些修饰符表示具有package(包)级别的可见性。

如果属性或方法具有下画线,则说明它是静态的。

类的性质是由一个属性、一个赋值方法和一个取值方法组成的。

书写方式和方法类似。

常见的关系有一般化关系、实现关系、聚合关系、合成关系和依赖关系。

请注意不同关系在图中连线表示的不同。

一般化关系表示类与类、接口与接口之间的继承关系。

关系中的箭头由子类指向父类。

在Java中,用extends关键字来直接表示这种关系。

●UML中关联的多重度是指(42)。

(42)A.一个类有多少个方法被另一个类调用

B.一个类的实例能够与另一个类的多少个实例相关联

C.一个类的某个方法被另一个类调用的次数

D.两个类所具有的相同的方法和属性

●已知3个类A、B

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1