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

33%
   2019年下半年
   程序员
   上午试卷 综合知识
第45题
选择题
在面向对象方法中,(44)机制将数据和行为包装为一个单元。一个类定义一组大体上相似的对象,有些类之间存在一般和特殊的层次关系,如(45)之间就是这种关系。

35%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


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