面向对象分析与设计试题及其答案
学第学期面向对象分析与设计试卷答案

华南农业大学期末考试试卷(A卷-答案)2008学年第2学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号_______________________ 姓名_____________________ 年级专业_________________________、单项选择题(每题2分,共30分。
将正确答案填入下表)A.低内聚、低耦合B.高内聚、低耦合C.高内聚、高耦合D.低内聚、高耦合2、不是传统开发方法的是()。
DA. 功能分解法B.结构化方法C.信息建模方法D.面向对象方法3、不是面向对象的基本思想的是()。
DA. 客观世界中的事物都是对象,对象间存在一定的关系。
B. 用对象的属性描述事物的静态特征C. 用对象的操作描述事物的动态特征(行为)。
D. 通过随机方式对事物进行分类。
4、面向对象的特点主要概括为()。
CA. 可分解性、可组合性、可分类性B.继承性、封装性、多态性C. 抽象性、继承性、封装性、多态性D.封装性、易维护性、可扩展性、可重用性5、下列关于面向对象分析(OOA)中描述错误的是()。
DA. 是运用面向对象方法进行系统分析。
B. 是软件生命周期的一个阶段C•强调对问题域和系统责任进行分析和理解。
D. 强调与实现有关的分析和理解。
6、下列叙述中正确的是()。
AA. 系统边界是一个系统所包含的所有系统成分与系统以外各种事物的分界线。
B. 参与者一定是系统中的一部分。
C. 参与者是在系统之外但可不与系统进行交互的任何事物。
D. 参与者只能是人或者设备。
7、关于用例与类的对比中()是错误的。
DA. 都属于模型结构元素B. 都存在继承关系C. 类描述系统的部分静态视图,用例描述系统动态的行为视图D. 类描述的是系统的内部构成,用例也可以描述系统的内部构成 8、关于类和对象的描述中, ()是错误的。
BA. 对象是具有明确语义边界并封装了状态和行为的实体。
B. 类与对象之间的关系,如同一个铸件和它的模具之际的关系。
面向对象程序设计练习题库与答案

面向对象程序设计练习题库与答案一、单选题(共36题,每题1分,共36分)1.下列关于静态内部类的说法,错误的是()A、静态内部类不能直接访问外部类的非静态成员B、静态内部类只能访问外部类的静态成员C、创建静态内部类的对象时,必须要先创建外部类的对象D、静态内部类,就是使用static关键字修饰的成员内部类正确答案:C2.以下选项中,哪个是FileInputStream的父类()A、FileB、FileOutputC、OutputStreamD、InputStream正确答案:D答案解析:FileInputStream是用来读取文件的字节流,属于InputStream类的子类。
3.下面关于FileInputStream和FileOutputStream的说法中,错误的是()A、FileInputStream是InputStream的子类,它是操作文件的字节输入流B、FileOutputStream是OutputStream的子类,它是操作文件的字节输出流C、如果使用FileOutputStream向一个已存在的文件中写入数据,那么写入的数据会被追加到该文件原先的数据后面D、使用FileInputStream读取文件数据时,必须保证要读取的文件存在并且是可读的正确答案:C答案解析:如果使用FileOutputStream向一个已存在的文件中写入数据,如果构造函数FileOutputStream的参数append的值是true,那么写入的数据才会追加到原先数据之后,否则的话,原先的数据会被清空,然后再写入新的数据。
4.下列关于类的说法中,错误的是()A、Java中创建类的关键字是class。
B、类中可以有属性与方法,属性用于描述对象的特征,方法用于描述对象的行为。
C、Java中对象的创建,首先需要定义出一个类。
D、一个类只能创建一个对象。
正确答案:D答案解析:类是对象的模板,对象是类的实例,一个类是可以创建多个对象的。
面向对象系统分析及设计试卷及答案

面向对象分析与设计试题B卷一、单项选择题( 在每题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号。
每题1 分,共20 分)3.以下不属于面向对象技术的根本特征的是〔〕。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,以下不正确的表达是〔〕。
A. 与人类习惯的思维方法比拟一致B.可重用性好C. 以数据操作为中心D.可维护性好8. 以下不属于类的成员函数的是( )。
A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数9. 继承机制的作用是( )。
A. 信息隐藏B. 数据封装C. 派生新类D. 数据抽象14. 〔〕是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B. 对象图C. 序列图D. 用例图15. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的根底。
A.对象图 B. 组件图 C. 类图 D. 配置图16.〔〕描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 序列图17.〔〕就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A.组件图B. 协作图C. 状态图D. 配置图18. 在用UML进展数据库的分析与设计过程中,( ) 就是进展数据库的需求分析,使用用例图、类图、顺序图、活动图等建立业务模型。
A. 逻辑数据模型设计B业务Use Case模型设计C. 物理数据模型设计D. 物理实现设计19.使用UML进展关系数据库的〔〕时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表〔Table)、视图(View)等。
面向对象系统分析与设计试卷与答案

面向对象阐发与设计试题 一、单项选择题 ( 在每题的四个备选答案中,选出一个正确答案,并将正确答案的序号 填在题干的括号内。
每题1 分,共 20 分 )3.以下不属于面向对象技术的底子特征的是〔A. 封装性B.模块性C.多态性B 卷〕。
D.担任性4. 面向对象程序设计将描述事物的数据与 ( )封装在一起 , 作为一个彼此依存、不成分割的整体来措置。
A. 信息B.数据隐藏C.对数据的操作 D. 数据抽象〔 〕。
5. 关于面向对象方法的长处,以下不正确的表达是A. 与人类习惯的思维方法比较一致B.可重用性好 可维护性好C. 以数据操作为中心D. ( )。
8. 以下不属于类的成员函数的是A. 构造函数9. 担任机制的作用是 ( )。
A. 信息隐藏B.数据封装 C. 派生新类 B.析构函数 C.友元函数D. 拷贝构造函数D. 数据抽象14. 〔 〕是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B.C.D.对象图序列图, 它是面向对象设计的核心,成立状态图、协 用例图15. ( )是表达系统类及其彼此联系的图示作图和其他图的根底。
A .对象图B.组件图C.类图D.配置图16. 〔 〕描述了一组交互对象间的动态协作关系,它暗示完成某项行为的对象和这些对象之间传递动静的时间挨次。
A .对象图B.协作图C.状态图D.序列图17. 〔 〕就是用于暗示构成分布式系统的节点集和节点之间的联系的图示,它可以暗示系统中软件和硬件的物理架构。
A.组件图B.协作图C.状态图D.配置图18. 在用 UML 进行数据库的阐发与设计过程中, ( )就是进行数据库的需求阐发,使用用例图、类图、挨次图、活动图等成立业务模型。
A. 逻辑数据模型设计 C. 物理数据模型设计B 业务 Use Case 模型设计 D.物理实现设计19. 使用 UML 进行关系数据库的〔 〕时,需要设计出表达持久数据的实体类及其联系, 并把它们映射成为关系数据库表〔 Table) 、视图 (View) 等。
java面向对象分析与设计复习(全答案版)

面向对象分析与设计-模拟题

面向对象分析与设计模拟题一、单选题1.下面描述中()不是使用软件模型的目的.A.可以更好地理解问题B.可以更早地发现错误或疏漏的地方C.可以为最后代码的生成提供依据D.在开发过程中使用面向对象方法[答案]:D2.关于参与者的说法中错误的是().A.参与者是与目标系统交互的人或物B.参与者可以是实际的人,也可以是外部设备,外部系统等C.参与者是用例图的重要组成部分,因此它是目标系统的组成部分D.参与者之间可以存在一定的关系[答案]:C3.状态图中不能表示的概念有().A.动作B.类C.转移D.事件[答案]:B4.计算机(Computer)由中央处理器,内存,软盘,硬盘,显示器,键盘,鼠标等组成.那么Computer类和其它类(CPU,RAM,FloppyDrive,HardDisk,Monitor,Keyboard,Mouse)之间的关系是().A.泛化关系(Generalization)B.实现关系(Realization)C.包含关系(Inclusion)D.聚集关系(Aggregation)[答案]:D5.()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图,协作图和其他图的基础.A.对象图B.组件图C.类图D.配置图[答案]:C6.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系.A.继承B.组合C.封装D.多态[答案]:B7.不属于UML结构物件的是().A.交互B.类C.用例D.组件[答案]:A8.内聚表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]:C9.需求规格说明描述().A.基于计算机系统的功能,性能和约束B.每个子系统的实现C.软件体系结构元素D.系统使用说明[答案]:A10.以下对UML的描述中,正确的是().A.UML是一种软件过程方法B.UML是一种面向对象分析和设计方法C.UML是一种面向对象设计原则D.UML是一种标准化建模语言[答案]:D11.在顺序图中,第一个消息往往由()发出.A.边界对象B.参与者C.实体对象D.生命周期对象[答案]:B12.描述系统架构的建模元素不包括().A.类B.包C.子系统D.包间的依赖关系[答案]:A13.对下图的描述中,错误的是().A.image.java实现了ImageObserver接口B.image.java请求了ImageObserver接口ponent.java实现了ImageObserver接口D.image.java只能通过ImageObserver接口访问component.java [答案]:A14.()对系统的业务数据和业务逻辑进行封装.A.控制对象B.边界对象C.实体对象D.生命周期对象[答案]:C15.不属于敏捷过程特征的是().A.迭代性B.自适应C.过程化开发D.轻量级[答案]:C16.下列事物中一般不是目标系统的外部参与者的是().A.人B.外部设备C.外部系统D.数据存储[答案]:D17.根据下面的代码,可以确定类A与类B之间存在()关系. public class A {private B theB;public void aMethod(){ theB.doSomthing(); }}A.关联B.泛化C.实现D.包含[答案]:A18.面向对象的特点主要概括为().A.可分解性,可组合性,可分类性B.继承性,封装性,多态性C.抽象性,继承性,封装性,多态性D.封装性,易维护性,可扩展性,可重用性[答案]:C19.下面那个图符表示UML中的实现关系?().A.B.C.D.[答案]:C20.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构.A.组件图B.协作图C.状态图D.配置图[答案]:D21.关于用例与类的对比中()是错误的.A.都属于模型结构元素B.都存在继承关系C.类描述系统的部分静态视图,用例描述系统动态的行为视图D.类描述的是系统的内部构成,用例也可以描述系统的内部构成[答案]:D22.描述对象之间静态联系的是().A.一般-特殊结构B.整体-部分结构C.实例链接D.消息连接[答案]:C23.()可以帮助人们简单方便地复用已经成功的设计或体系结构.A.商业组件B.逆向工程C.设计模式D.需求规格说明[答案]:C24.一个设计得好的面向对象系统具有()特征.A.低内聚,低耦合B.高内聚,低耦合C.高内聚,高耦合D.低内聚,高耦合[答案]:B25.耦合表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]: D26.在一个课程注册系统中,定义了类CourseSchedule和类Course,其中类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则这两个类之间的关系是().A.泛化关系B.组合关系C.依赖关系D.包含关系[答案]: C27.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理.A.信息B.数据隐藏C.对数据的操作D.数据抽象[答案]:C28.()是从用户使用系统的角度描述系统功能的图形表达方法.A.类图B.对象图C.序列图D.用例图[答案]:D29.采用面向对象技术开发的应用系统的特点是().A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂[答案]:A30.多态性出现在具有()结构的类之间.A.整体-部分B.一般-特殊C.实例链接D.消息连接[答案]:B。
uml面向对象的分析与设计考题与答案
u m l面向对象的分析与设计考题与答案集团文件版本号:(M928-T898-M248-WU2669-I2896-《面向对象的分析与设计》练习题一、选择题1.UML 语言不支持的建模方式有(D )。
A. 静态建模B.动态建模C. 模块化建模D. 功能建模2.一个设计得好的OO系统具有( B )。
A. 低内聚、低耦合的特征B.高内聚、低耦合的特征C. 高内聚、高耦合的特征D.低内聚、高耦合的特征3.下列不属于面向对象技术的基本特征的是( B)。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与 ( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C )。
A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6.用例之间的关系不包括以下哪种关系?DA.泛化B.包含C. 扩展D. 聚集和组合7.顺序图中不包括以下哪种元素?(A)A.用例B. 对象C. 生命线D. 消息8. 用例图中不包括以下哪种元素?(B)A. 用例B. 类C. 参与者D. 关联9. 继承机制的作用是 ( C )。
A. 信息隐藏B. 数据封装C. 派生新类D. 数据抽象10. 面向对象方法学中,对象之间仅能通过(C )相联系。
A. 类B.抽象C. 消息D. 封装11. 脚本与用例之间的关系类似与(A)之间的关系。
A. 对象与类B. 参与者与用例C. 顺序图和抽象类D. 消息和对象12. 下列元素中,(D )不属于消息的组成。
A. 提供服务的对象B. 服务C. 输入信息D. 事件13. ( D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 顺序图14. ( D)是从用户使用系统的角度描述系统功能的图形表达方法。
面向对象分析与设计试卷及答案
华南农业大学期末考试试卷(A卷)-答案2007学年第1学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业题号一二三四五总分得分评阅人一、判断题(每题1分,共10分。
对的标“T”,错的标“F”,将答案写入下表)12345678910F T F T F T F T F T1. 一个状态图最多只能由一个初态和一个终态。
(F)2. 协作图中的消息必须要有消息顺序号。
(T)3. 两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。
(F)4. 参与者(actor)和用例(use case)之间的关系是关联(association)关系。
(T)5. 类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的getName()方法的重载(overload)。
(F)图1 getName()方法之间的关系图2 活动图6. 如图2所示,活动Gesture和Stream audio可以并发进行。
(T)7. 一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。
(F)8. CMM描述了五个级别的软件过程成熟度,即初始级、可重复级、已定义、已管理级、优化级。
(T)9. UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。
(F)10. 在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。
(T)二、单项选择题(每题2分,共30分。
将正确答案填入下表)123456789101112131415B AC A C AD A C D D A D D C1. 一个设计得好的OO系统具有(B)A. 低内聚、低耦合的特征B. 高内聚、低耦合的特征C. 高内聚、高耦合的特征D. 低内聚、高耦合的特征2.下面()不是UML的基本构成元素。
UML面向对象设计与分析习题答案
1.一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。
售货机有一个硬币槽和找零槽,分别用来收钱和找钱。
现在为这个系统设计一个用例图?
2.现有一个产品销售系统,其总体需求如下:
系统允许管理员生成存货清单报告。
管理员可以更新存货清单。
销售员记录正常的销售情况。
交易可以使用信用卡或支标,系统需要对其进行验证。
每次交易后都需要更新存货清单。
分析其总体需求,并绘制出其用例图?
3.绘制用例图,为如下的每个事件显示酒店管理系统中的用例,并描述各用例的基本操作流程。
客人预订房间。
客人登记。
客人的承担服务费用。
生成最终账单
客人结账
客人支付账单。
(完整word版)UML面向对象分析与设计教程课后习题答案(胡荷芬高斐)选择题部分
UML面向对象分析与设计教程课后习题答案选择题第一章(1) 对象程序的基本特征是(ABCD)A.抽象B.封装C.继承D。
多态(2)类包含的要素有(ABC)A.名字B。
属性 C.操作D。
编号(3)下列关于类与对象的关系说法不正确的是(A)A.有些对象是不能被抽象成类的B。
类给出了属于该类的全部对象的抽象定义C.类是对象集合的再抽象D.类是用来在内存中开辟一个数据区,存储新对象的属性(4)面向对象方法中的(C)机制给予子类可以自动的拥有(复制)父类全部属性和操作.A。
抽象B。
封装C。
继承D。
多态(5)建立对象的动态模型一般包含的步骤有(ABCD)A。
准备脚本B。
确定事件C.准备事件跟踪表D.构造状态图第二章⑴UML中的关系元素包括(ABCD).A.依赖B。
关联C.泛化D。
实现⑵在UML中,定义了面向对象的事物,这些事物分为(ABCD).。
A。
结构事物B。
行为事物C。
分组事物D.注释事物⑶UML中的图包括(ABC)。
A.用例图B。
类图C。
状态图D。
流程图⑷UML的视图不包括(BCD).A.用例视图B。
类视图C。
状态视图D。
物理视图⑸下面不属于UML中的静态视图的是(ABC).A. 状态图B.用例图C.对象图D. 类图第三章(1)下列说法正确的是(ACD)A.在用例视图下可以创建类图B.在逻辑视图下可以创建构件图C.在逻辑视图下可以创建包D.在构件视图下可以创建构件(2)在Rational Rose 的逻辑视图下可以创建(ABCD) A.类图 B.构件图C.包 D.活动图(3)Rational Rose 建模工具可以执行的任务有(ABCD) A.非一致性检查 B.生成C++语言代码C.报告功能 D.审查功能(4)Rational Rose 中支持的视图不包括(D)A.逻辑视图 B.构件视图C.部署视图D。
机构视图(5)在构建视图下的元素可以包括(ABC)A.构件 B.构件图C.包 D.类第四章(1)类中的方法的可见性包括(ABC)A.privateB.publicC.protectedD.abstract(2)下面属于UML中类元的类型的是(ABCD)A.类B.对象C.构件D.接口(3)类之间的关系包括(ABCD)A.泛化B.关联C.实现D.依赖(4)下列关于接口的关系说法正确的是(ABCD)?A.接口是一种特殊的类B.所有接口都是有构造型<<interface>〉的类C.一个类可以通过实现接口从而支持接口所指定的行为D.在程序运行的时候,其他对象可以不仅需要依赖与此接口,还需要知道该类对接口实现的其他信息(5)下列关于类方法的声明正确的是(AB)A.方法定义了类所许可的行为B.从一个类所创建的所有对象可以使用同一组属性和方法C.每个方法应该有一个参数D.如果在同一个类中定义了类似的操作,则他们的行为应该是类似的第五章1.在Rational Rose 2003中,支持(ABCD)的构造模型A。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象分析与设计试题B卷
一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2 分,共20 分)
1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的
形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A. Simula67语言
B. Smalltalk语言
C. Java语言
D. 统一建模语言(UML)的标准
2. 面向对象的运动产生了多种面向对象的语言, 其中()是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A. Smalltalk
B. Eiffel
C. C++
D. Java
3.下列不属于面向对象技术的基本特征的是()。
A. 封装性
B. 模块性
C. 多态性
D. 继承性
4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息
B. 数据隐藏
C. 对数据的操作
D. 数据抽象
5. 关于面向对象方法的优点,下列不正确的叙述是()。
A. 与人类习惯的思维方法比较一致
B. 可重用性好
C. 以数据操作为中心
D.可维护性好
6. ()是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图
B. 对象图
C. 序列图
D. 用例图
7. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图
和其他图的基础。
A.对象图 B. 组件图 C. 类图 D. 配置图
8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之
间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 序列图
9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统
中软件和硬件的物理架构。
A. 组件图
B. 协作图
C. 状态图
D. 配置图
10. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
A. 业务Use Case模型设计
B. 逻辑数据模型设计
C. 物理数据模型设计 C. 物理实现设计
二、填空题( 每空1 分,共20 分)
1. 面向对象开发方法一改过去传统的以___功能分析___为基础的__面向过程__的结
构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为
一系列__对象_的集合,其__面向对象的设计__又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的_概念_,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与_解空间__在结构上尽可能一致。
因此,采用面向对象方法可以更有效地开发大型软件系统。
面向对象方法的_封装_、_继承_、__多态_等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服_软件危机__。
因此,它已成为成熟的广为采用的软件开发方法。
2. 对象是客观实体的抽象表示,是由__描述对象属性的数据__和_对这些数据进行的操作
行为__两部分组成。
而_类_是对具有相同属性和行为的一组对象的抽象描述。
因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的__实例__。
通过_继承__关系又可形成一种类层次结构。
3. UML中用于描述系统的静态建模的视图称为静态视图,包括_用例图__、
_类图__、_对象图__、__包图__和__构件图_。
三、写出下列程序的输出结果。
( 满分10 分)
#include <iostream.h>
#include <string.h>
class Person
{
public:
Person(char *s)
{
name=new char[strlen(s)+1];
strcpy(name, s);
}
virtual void print()
{ cout<<”My name is”<<name<<endl; }
protected:
char *name;
};
class Student:public Person
{ public:
Student(char *s, float g):Person(s) { avg=g; }
void print(char *s)
{ cout<<s<<”My name is “<<name<<”and my grade is”<<avg<<endl; }
private:
float avg;
};
class professor:public Person
{ public:
Professor(char *s, int n):Person(s) { publs=n; }
void print()
{ cout<<”My name is”<<name<<” and I have”<<publs
<<” publication.”<<endl; }
private:
int publs;
};
void main(void)
{ Person *p;
Person x(“Zhang”);
Student y(“Wang”, 4, 2);
Professor z(“Liu”, 5);
p=&x; p->print();
p=&y; p->print();
p=&z; p->print(); }
【运行结果:
My name is Zhang
My name is Wang
My name is Liu and I have 5 publications.
四. 简答题(每小题5分,共20 分)
1. 简述面向对象软件开发方法的优点。
2. 简述面向对象技术的三大机制。
答:(1)封装性(encapsulation)
所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。
(2)继承性
如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。
前一个类称为父类,新产生的类叫做子类。
通过继承关系可形成一种类层次结构,叫做继承结构。
(3)多态性
在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。
3. 简述OOA模型的层次结构。
答:OOA模型采用五层次结构,它们分别是:
(1)对象-类层
划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。