面向对象的程序设计
被考次数: 5次
被考频率: 中频率
答错率:    32%
知识难度:
考试要求: 了解     
知识路径:  > 信息系统开发和运行管理知识  > 系统实施基础知识  > 结构化程序设计、面向对象程序设计、可视化程序设计


本知识点历年真题试卷分布
>> 试题列表    
 

 
       传统的过程式程序设计随着软件危机和应用系统的不断膨胀越来越显得力不从心,随着20世纪70年代Smalltalk及Modula-2等面向对象的编程语言(Object Oriented Programming Language, OOPL)的出现,以及C++的发展成熟,面向对象程序设计(Object Oriented Programming, OOP)思想得到了广泛的认同和普及。至20世纪90年代,各种程序语言或工具都融入了这一思想,其优越性是有目共睹的,它已成为这一时代软件产业的主体技术。
       在OOP方法中,一个对象即是一个独立存在的实体,对象有各自的属性和行为,彼此以消息进行通信,对象的属性只能通过自己的行为来改变,实现了数据封装,这便是对象的封装性。而相关对象在进行合并分类后,有可能出现共享某些性质,通过抽象后使多种相关对象表现为一定的组织层次,底层次的对象继承其高层次对象的特性,这便是对象的继承性。另外,对象的某一种操作在不同的条件环境下可以实现不同的处理、产生不同的结果:这就是对象的多态性。现有的OOPL中都不同程度地实现了对象的以上三个性质。
       封装性
       一般以类(class)来创建一个对象,类表现为一种数据结构。对外提供的界面包括一组数据以及操作这些数据的方法(函数或过程),而隐藏了内部实现的细节,对象操作者只需要了解该对象的界面即可。这样大大增强了模块化程度,很好地实现了软件重用和信息隐藏。
       为了更好地保持安全性和独立性,类有部分数据可以被定义为私有教据,其他类的对象或过程不能直接访问私有数据,而一般情况下利用消息机制向对象发送消息,对象所有类就需要定义对应的消息响应函数,主动接受消息并做处理,这也是OOPL的一大特点。
       继承性
       类通过继承被定义成不同的层次结构,将相关类的特点抽象出来作为父类,子类继承父类的结构和方法后,再定义各自特定的数据和操作,或者还可以通过重载将父类的某些特殊操作进行重新定义。继承一个单一的父类时叫单继承,如果有两个或两个以上的父类则是多继承。这样做的目的不仅体现了软件重用技术,同时又可最大限度地精简程序、减少冗余代码,极大地提高了程序开发和运行效率。
       多态性
       类的某些操作允许同一名称具有多种语义。OOPL的这些特点使程序员进行面向对象程序设计时与进行过程式的程序设计有很大的不同,体现在以下这些方面。
       .设计程序不采用顺序性的结构,而是采用对象本身的属性与方法来解决问题。
       .在解决问题的过程中,可以直接在对象中设计事件处理程序(接受事件消息),而不用调用子过程严格地按顺序执行,很方便地让用户实现自由无顺序的操作。
       .数据与程序不是分离的,数据是特定对象的数据,也只有对象的函数或过程才能对数据进行处理,一个对象中的函数或过程共享对象的数据,解决了因调用子过程出现大量数据传递的情况(如函数返回值和较多参数)。
       .不用设计公用程序模块,因特定方法下的公用模块很难再被扩展为更复杂的处理方式,只需设计类就可以实现重用,而且类库中提供大量基类,掌握它们后可以加快开发过程,开发小组还可以按自己设想的基类放入类库共享。
       .OOPL非常适合于Windows环境下的程序开发,可以充分利用Windows的各种资源来构造应用程序,这也就需要程序员比较熟悉Windows。
 

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

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