软件设计师分类模拟题面向对象方法学(一)
单项选择题
1. 已知3个类A、B和C,其中类A由类B的一个实例和类C的一个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是______。
A.
B.
C.
D.
2. 在uML语言中,图5-3中的a、b、c三种图形符号按照顺序分别表示______。
A.边界对象、实体对象、控制对象
B.实体对象、边界对象、控制对象
C.控制对象、实体对象、边界对象
D.边界对象、控制对象、实体对象
答案:C
当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 3 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 4 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 5 设计模式将该类的接口转换成我们希望的接口。3.
A.命令(Command)
B.适配器(Adapter)
C.装饰(Decorator)
D.享元(Flyweight)
4.
A.命令(Command)
B.适配器(Adapter)
C.装饰(Decorator)
D.享元(Flyweight)
答案:D
5.
A.命令(Command)
B.适配器(Adapter)
C.装饰(Decorator)
D.享元(Flyweight)
答案:B
6. 下列关于一个类的静态成员的描述中,不正确的是______。
A.该类的对象共享其静态成员变量的值
B.静态成员变量可被该类的所有方法访问
C.该类的静态方法只能访问该类的静态成员变量
D.该类的静态数据成员变量的值不可修改
答案:D
开-闭原则(0pen-Closed Principle,OCP)是面向对象的可复用设计的基石。开-闭原则是指一个软件实体应当对7 开放,对8 关闭;里氏代换原则(Liskov Substitution Principle,LSP)是指任何9 可以出现的地方,10 一定可以出现。依赖倒转原则(Dependence Inversion Principle,DIP)就是要依赖于11 而不依赖于12 ,或者说要针对接口编程,不要针对实现编程。7.
A.修争
B.扩展
C.分析
D.设计
答案:B
8.
A.修
B.扩展
C.分析
D.设计
答案:A
9.
A.变量
B.常量
C.基类对象
D.子类对象
答案:C
10.
A.变量
B.常量
C.基类对象
D.子类对象
答案:D
11.
A.程序设计语言
B.建模语言
C.实现
D.抽象
答案:D
12.
A.程序设计语言
B.建模语言
C.实现
D.抽象
答案:C
13. 以下关于类和对象的叙述中,错误的是______。
A.类是具有相同属性和服务的一组对象的集合
B.类是一个对象模板,用它仅可以产生一个对象
C.在客观世界中实际存在的是类的实例,即对象
D.类为属于该类的全部对象提供了统一的抽象描述
答案:B
下面给出了4种设计模式的作用。
外观(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这个子系统更加容易使用;
装饰(Decorator):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;
单例(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点;模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用14 设计模式能够有效达到该目的;该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,15 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条,或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类,16 设计模式可以实现该目的。14.
A.外观
B.装饰
C.单例
D.模板方法
答案:C
15.
B.装饰
C.单例
D.模板方法
答案:D
16.
A.外观
B.装饰
C.单例
D.模板方法
答案:B
17 反映了类间的一种层次关系,而18 反映了一种整体与部分的关系。
17.
A.继承
B.组合
C.封装
D.多态
答案:A
18.
A.继承
B.组合
C.封装
答案:B
19. ______将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
A.Adapter(适配器)模式B.Command(命令)模式
C.Singleton(单例)模式D.Strategy(策略)模式
答案:A
20. 在面向对象程序设计中,常常将接口的定义与接口的实现相分离,可定义不同的类实现相同的接口。在程序运行过程中,对该接口的调用可根据实际的对象类型调用其相应的实现。为达到上述目的,面向对象语言需提供______机制。
A.继承和过载(overloading)
B.抽象类
C.继承和重置(overtiding)
D.对象自身引用
答案:C
21. ______表示了系统与参与者之间的接口。在每一个用例中,该对象从参与者处收集信息,并将之转换为一种被实体对象和控制对象使用的形式。
A.边界对象
B.可视化对象
C.抽象对象
D.实体对象
答案:A
22. ______不是面向对象分析阶段需要完成的。
A.认定对象
B.组织对象
C.实现对象及其相互关系
D.描述对象间的相互作用
答案:C
23. 对于如图5-1所示的UML类图,正确的描述是______。
A.类B的实例中包含了对类C的实例的引用
B.类A的实例中包含了对类B的实例的引用
C.类A的实例中包含了对类C的实例的引用
D.类B的实例中包含了对类A的实例的引用
答案:B
24 设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地变化。图5-5所示为该设计模式的类图,其中,25 用于定义实现部分的接口。
24. A.Singleton(单例) B.Bridge(桥接)
C.Composite(组合)D.Facade(外观)
答案:B
25.
A.Abstraction
B.ConcreteImplementorA
C.ConcreteImplementorB
D.Implementor
答案:D
若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其他部分的代码都不涉及类B,那么类A与类B的关系应为26 ;若类A的某个属性是类B的一个对象,并且类A对象消失时,类B对象也随之消失,则类A与类B的关
系应为27 。26.
A.关联
B.依赖
C.聚合
D.组合
答案:B
27.
A.关联
B.依赖
C.聚合
D.组合
答案:D
28. 以下关于面向对象设计的叙述中,错误的是______。
A.高层模块不应该依赖于底层模块
B.抽象不应该依赖于细节
C.细节可以依赖于抽象
D.高层模块无法不依赖于底层模块
答案:D
29. 面向对象分析的第一步是______。
A.定义服务
B.确定附加的系统约束
C.确定问题域
D.定义类和对象
答案:C
采用30 设计模式可保证一个类仅有一个实例;采用31 设计模式可将对象组合成树形结构以表示“部分-整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性;采用32 设计模式可动态地给一个对象添加一些额外的职责。30.
A.命令(Command)
B.单例(Singleton)
C.装饰(Decorator)
D.组合(Composite)
答案:B
31.
A.命令(Command)
B.单例(Singleton)
C.装饰(Decorator)
D.组合(Composite)
答案:D
32.
A.命令(Command)
B.单例(Singleton)
C.装饰(Decorator)
D.组合(Composite)
答案:C
33. 在采用标准UML构建的用例模型(Use-Case Model)中,参与者(Actor)与用例(Use-Case)是模型中的主要元素,其中参与者与用例之间可以具有______关系。
A.包含(Include)
B.递归(Recursive)
C.关联(Association)
D.组合(Composite)
答案:C
34. 在面向对象系统中,用______关系表示一个较大的“整体”类包含一个或多个较小的“部分”类。
A.泛化
B.聚合
C.概化
D.合成
答案:B
35. 程序设计语言提供了基本类型及其相关的操作,而______则允许开发者自定义一种新的类型及其相关的操作。
A.对象
B.实例
C.类
D.引用
答案:C
36. 下面的______模式将对象组合成树形结构以表示“部分一整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。
A.组合(Composite)
B.桥接(Bridge)
C.修饰(Decorator)
D.外观(Facade)
答案:A
37 限制了创建类的实例数量,而38 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
37.
A.命令模式(Command)
B.适配器模式(Adapter)
C.策略模式(Strategy)
D.单例模式(Singleton)
答案:D
38.
A.命令模式(command)
B.适配器模式(Adapter)
C.策略模式(Strategy)
D.单例模式(Singleton)
答案:B
39 是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;40 是指子类可以自动拥有父类的全部属性和服务;41 是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。39.
A.继承
B.多态
C.消息
D.封装
答案:D
40.
A.继承
B.多态
C.消息
D.封装
答案:A
41.
A.继承
B.多态
C.消息
D.封装
答案:C
42. 以下关于单例模式(Singleton)的描述中,正确的是______。
A.它描述了只有一个方法的类的集合
B.它能够保证一个类只产生一个唯一的实例
C.它描述了只有一个属性的类的集合
D.它能够保证一个类的方法只能被一个唯一的类调用
答案:B
图5-6属于UML中的43 ,其中,AccountManagement需要44 。
43.
A.组件图
B.部署图
C.类图
D.对象图
答案:A
44.
A.实现Identity Verifier接口并被CreditCardServices调用
B.调用CreditCardServices实现的Identity Verifier接口
C.实现Identity Verifier接口并被Logger调用
D.调用Logger实现的Identity Verifier接口
答案:B
45. 下面关于面向对象的描述正确的是______。
A.针对接口编程,而不是针对实现编程
B.针对实现编程,而不是针对接口编程
C.接口与实现不可分割
D.优先使用继承而非组合
答案:A
46. 在MVC(模型—视图—控制器)模式中,视图部分描述的是______。
A.将应用问题域中包含的抽象领域知识呈现给用户的方式
B.应用问题域中所包含的抽象类
C.用户界面对用户输入的响应方式
D.应用问题域中包含的抽象领域知识
答案:A
设计模式47 将抽象部分与其实现部分相分离,使它们都可以独立地变化。图5-10为该设计模式的类图,其中,48 用于定义实现部分的接口。
47.
A.Bridge(桥接)
https://www.sodocs.net/doc/cc10100135.html,posite(组合)
C.Facade(外观)
D.Singleton(单例)
答案:A
48.
A.Abstraction
B.ConcreteImplementorA
C.ConcretelmplementorB
D.Implementor
答案:D
49. 面向对象开发方法的基本思想是尽可能按照人类认识客观世界的方法来分析和解决问题,______方法不属于面向对象方法。
A.Booch
B.Coad
C.OMT
D..Jackson
答案:D
50. 下面关于面向对象分析与面向对象设计的说法中,不正确的是______。
A.面向对象分析侧重于理解问题
B.面向对象设计侧重于理解解决方案
C.面向对象分析描述软件要做什么
D.面向对象设计一般不关注技术和实现层面的细节
答案:D
51. 类描述了一组对象共同的特性,下列叙述中正确的是______。
A.类本身不能具有变量
B.对象具有类定义的所有变量的一份拷贝
C.对象间不能共享类定义的变量
D.可通过类名访问静态变量(类变量)
答案:D
52. UML中关联的多重度是指______。
A.一个类有多少个方法被另一个类调用
B.一个类的实例能够与另一个类的多少个实例相关联
C.一个类的某个方法被另一个类调用的次数
D.两个类所具有的相同的方法和属性
答案:B
不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做53 。绑定是把过程调用和响应调用所需要执行的代码加以结合的一个过程。在一般的程序设计语言中,绑定在编译时进行,叫做54 ;而55 则在运行时进行,即一个给定的过程调用和执行代码的结合直到调用发生时才进行。53.
A.继承
B.多态
C.动态绑定
D.静态绑定
答案:B
54.
第3章面向对象程序设计基础
第3章面向对象程序设计基础 【1】什么是Java程序使用的类?什么是类库? 答:类是将一类事物的特性描述出来,然后如果用这个类来定义对象,则该对象就拥有了这个类所描述的所有特性。 在Java系统中,系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合称为一个包,所有包合称为类库。 【2】如何定义方法?在面向对象程序设计中方法有什么作用? 答:方法的定义由两部分组成:方法声明和方法体。 方法的声明如下: 返回值类型方法名(参数类型形式参数1,参数类型形式参数2…){ 程序代码; 返回值; } 在面向对象程序设计中,方法的作用是完成对类和对象属性操作。 【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。 void Student(int no,String name) {
studentNo=no; studentName=name; return no; } 答:构造方法的功能是:构造方法是一个特殊的方法,主要用于初始化新创建的对象; 特点:构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。 错误之处:(1)构造方法Student()前不能加void,(2)不能用return语句,(3)类名Student 首字母S改成小写s. 【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。 class Student { String id; String name; String sex; int age; void talk(){
第三单元分类与整理 第一课时单一标准 总课时数: 授课时间: 教学目标 1、初步感知分类的意义,学会分类的方法。 2、学生通过分一分,看一看,提高操作能力,观察能力,判断能力,语言表达能力。 3、初步学会与他人合作交流。 4、体会到生活中处处有数学 教学过程 一、创设情景探究新知 1、感知分类 出示例1 你们都看到了什么?可以怎样分类呢? 揭示课题,生活中把一样的东西放在一起就叫分类。 (板书课题:分类) 2、巩固发展体验分类 按形状来分一分,怎样记录分的结果呢? 讨论汇报。 板演分法。
还可以怎么分? 二、巩固提升发散创新 1、课件出示练习七1、 2、3题,学生集体完成。 2、开放练习拓宽思路(分正方体)师:同学们拿出你们的另外一袋学具, 请给这些物品分类。学生小组活动(4分钟)汇报交流 三、课堂小结今天同学们都学到了哪些知识?这些知识对你有什么帮助? 板书设计: 作业设计: 课后记: 第二课时不同标准 总课时数: 授课时间: 教学目标: 1.学会分同一类物品,并按照多种标准分类,感知分类的意义。 2.培养学生的动手操作能力,观察能力,语言表达能力。 3.让学生体会生活中处处有数学,数学能应用于生活中。 教学重点:按不同标准进行分类 教学过程: 一、引入新课 复习:上节课我们已经学了按一个标准进行分类,谁能说说什么是“分类”? 引入:今天这节课我们继续学习“分类”。(板书课题:分类) 二、小组活动,探究新知
1.出示例2 观察这些人有什么不同?请你们根据观察到的不同把这些人进行分类。 2.小组交流。 要求:说说你是怎么分的,再听听别人是怎么分的。 3.指导看书。 a.说说书上两个小朋友是怎么分的。 b.小结:根据不同的标准,我们可以有不同的分法。 三、巩固练习,体验根据不同标准分类 1.分图形(第30页第4题) 要求:想一想,你会怎么分?你为什么这样分? 在表格中表示分组结果。 2.分图片。(第31页的第5题。) 启发:现在请你们仔细观察这组动物,你能找出多少不同的地方?你们找到了这么多不同的地方,能不能根据每一个不同点都找到一种分法呢? 3.小结分类方法。 师:通过活动,我们发现,每找到一种不同,就能相应地得到一种分法。这就是按不同标准分类。接着就请大家用今天学到的本领来做些练习。 4.混合练习。(第31页的第6题) 四、应用练习 1.给公园中的人分类。(第32页第7题) 引导:生活中到处都有数学,现在就让我们用学到的本领来解决一些生活中的问题。这是公园中的一个场景,请大家把他们分分类。