全部科目 > 程序员 >
2009年下半年 上午试卷 综合知识
第 44 题
知识点 面向对象的基本概念  
关键词 超类   基类   子类  
章/节 系统分析和设计基础知识  
 
 
以下关于超类、子类、基类的叙述中,正确的是(44)。
 
  A.  子类是超类的特化
 
  B.  基类是超类的特化
 
  C.  基类是子类的特化
 
  D.  超类是基类的特化
 
 




 
 
相关试题     系统分析和设计基础知识 

  第56题    2011年下半年  
程序设计的一般原则不包括(56) .

  第46题    2017年下半年  
UML中行为事物是模型中的动态部分,采用动词描述跨越时间和空间的行为。(46)属于行为事物,它描述了(47)。

  第47题    2018年下半年  
在面向对象系统中,对象是基本的运行时实体。现实世界中电视机的颜色、音量、亮度、灰度和频道等是其(46),它们具体的值表示了电视机的(47)。

 
知识点讲解
· 面向对象的基本概念
 
        面向对象的基本概念
               概述
               面向对象(Object-Oriented, OO)方法是一种非常实用的软件开发方法,它以客观世界中的对象为中心,其分析和设计思想符合人们的思维方式,分析和设计的结果与客观世界的实际比较接近,容易被人们所接受。在面向对象方法中,分析和设计的界线并不明显,它们采用相同的符号表示,能方便地从分析阶段平滑地过渡到设计阶段。
               识别面向对象方法
               Peter Coad和Edward Yourdon提出用下列等式识别面向对象方法:
               面向对象=对象(Object)+分类(Classification)+继承(Inheritance)+通过消息的通信(Communication with Messages)
               采用这4个概念开发的软件系统是面向对象的。
               对象
               在现实世界中,每个实体都是对象,如学生、汽车、电视机、空调等都是现实世界中的对象。在计算机系统中,对象是指一组属性及这组属性上的专用操作的封装体。一个对象通常可由对象名、属性和操作3部分组成。属性可以是一些数据,也可以是另一个对象。例如,书是一个对象,它的属性可以有书名、作者、出版社、出版年份、定价等属性,其中书名、出版年份、定价是数据,作者和出版社可以是对象,他们还可以有自己的属性。每个对象都有它自己的属性值,表示该对象的状态。对象中的属性只能通过该对象所提供的操作来存取或修改。操作也称为方法或服务,它规定了对象的行为,表示对象所能提供的服务。
               类
               类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(Instance)。在分析和设计时,我们通常把注意力集中在类上,而不是具体的对象。我们也不必为每个对象逐个定义,而只需对类做出定义,再对类的属性给予不同的赋值即可得到该类的对象实例。
               在有些类之间存在一般和特殊关系,即一些类是某个类的特殊情况,某个类是某些类的一般情况。这是一种"is-a"的关系,即特殊类是一种一般类。例如"汽车"类、"轮船"类、"飞机"类都是一种"交通工具"类。特殊类是一般类的子类,一般类是特殊类的父类。同样,"汽车"类还可以有更特殊的类,如"轿车"类、"货车"类等。在这种关系下形成一种层次的关联。
               通常把一个类和这个类的所有对象称为"类及对象"或"对象类"。
               继承
               继承是类间的一种基本关系,是在某个类的层次关联中不同的类共享属性和操作的一种机制。在"is-a"的层次关联中,一个父类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的公共属性和操作。一个子类可以继承它的父类(或祖先类)中的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义它自己的属性和操作。
               一个子类只有唯一的一个父类,这种继承称为单一继承。一个子类也可以有多个父类,它可以从多个父类中继承特性,这种继承称为多重继承。例如,"水陆两用交通工具"类既可继承"陆上交通工具"类的特性,又可继承"水上交通工具"类的特性。
               消息
               消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务,一个消息通常包括接收对象名、调用的操作名和适当的参数。消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样完成操作。
               多态(Polymorphism)和动态绑定(Dynamic Binding)
               多态是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果,例如"画"操作,作用在"矩形"对象上则在屏幕上画一个矩形,而作用在"圆"对象上,则在屏幕上画一个圆。也就是说,相同操作的消息发送给不同的对象时,每个对象将根据自己所属类中定义的这个操作去执行,从而产生不同的结果。
               与多态性密切相关的一个概念就是动态绑定。传统的程序设计语言,把过程调用与目标代码的连接(即调用哪个过程)放在程序运行前进行(称为静态绑定),而动态绑定则是把这种连接推迟到运行时才进行。在一般与特殊关系中,子类是父类的一个特例,所以父类对象可以出现的地方,也允许其子类对象出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法连接,即动态绑定。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有