面向对象程序设计概述.doc
《面向对象程序设计概述.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计概述.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5第1章 Error! No text of specified style in document.面向对象程序设计概述1什么是结构化程序设计方法?这种方法有哪些优点和缺点?【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。结构化程序设计的思路是:自顶向下、逐步求精。程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。结构化程序设计方法使高级语言程序设计开始
2、变得普及,并促进了计算机技术的深入应用。虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。2面向对象程序设计有哪些重要特点?【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方
3、法的根本区别是程序设计的思维方法的不同。它主要具有如下重要特点:(1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。(2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。(3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。(4)面向对象的程序设计通过类的继承与派生机制以及多态性特性,提高了软件代码
4、的可重用性,因而大大缩减了软件开发的相关费用及软件开发周期,并有效地提高了软件产品的质量。(5)面向对象程序设计的抽象性和封装特性,使对象以外的事物不能随意获取对象的内部属性,有效地避免了外部错误对内部所产生的影响,减轻了软件开发过程中查错的工作量,减小了排错的难度。(6)面向对象程序设计较直观地反映了客观世界的真实情况,使软件设计人员能够将人类认识事物规律所采用的一般思维方法移植到软件设计中。3面向对象与面向过程程序设计有哪些不同点?【解答】面向过程的程序设计方法将客观事物中本质上密切相关、相互依赖的数据和对数据的操作相互分离,这种实质上的依赖与形式上的分离使得大型程序既难以编写,也难以调试
5、、修改和维护,代码的可重用性和共享性差。而面向对象程序设计方法是一种以对象为基础,以事件或消息来驱动对象执行相应处理的程序设计方法。它将数据及对数据的操作封装在一起,作为一个相互依存、不可分离的整体对象;它采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型类。类中的大多数数据,只能通过本类方法进行操作和处理。面向对象程序设计以数据为中心而不是以功能为中心来描述系统,因而非常适合于大型应用程序与系统程序的开发。在程序结构上,面向对象程序与面向过程程序也有很大的不同。面向过程的程序主要由顺序结构、选择结构和循环结构组成,程序的基本单位是函数,程序的执行顺序也是确定的。而面向对象程序由类的
6、定义和类的使用两部分组成,程序的基本单位是类,在主程序内定义对象,并确定对象之间消息的传递规律,程序中的所有操作都是通过向对象发送消息来实现的,对象接到消息后,通过消息处理函数完成相应的操作。4什么是面向对象方法的封装性?它有何优缺点?【解答】封装性指将对象的属性和行为代码封装在对象的内部,形成一个独立的单位,并尽可能隐蔽对象的内部细节。封装性是面向对象方法的一个重要原则,C+面向对象方法的封装特性包含以下两层含义:第一层含义是将对象的全部属性和行为封装在对象内部,形成一个不可分割的独立单位。对象的属性值(公有属性值除外)只能由这个对象的行为来读取和修改。第二层含义是“信息隐蔽”,即尽可能隐蔽
7、对象的内部细节,对外形成一道屏障,只保留有限的对外接口与外部发生联系。面向对象方法的封装性具有以下特点:(1)封装性使对象以外的事物不能随意获取对象的内部属性,有效地避免了外部错误对它产生的影响,大大减轻了软件开发过程中查错的工作量,减小了排错的难度。(2)封装性使得当程序需要修改对象内部的数据时,减少了因为内部修改对外部的影响。(3)封装性使对象的使用者与设计者可以分开,使用者不必知道对象行为实现的细节,而只使用设计者提供的外部接口即可。(4)封装性事实上隐蔽了程序设计的复杂性,提高了代码重用性,降低了软件开发的难度。(5)面向对象程序设计方法的信息隐蔽作用体现了自然界中事物的相对独立性,程
8、序设计者与使用者只需关心其对外提供的接口,而不必过分注意其内部细节,即主要关注能做什么,如何提供这些服务等。5面向对象程序设计为什么要应用继承机制?【解答】在面向对象程序设计中,根据既有类(父类)派生出新类(子类)的现象称为类的继承机制,亦称为继承性。面向对象方法的继承性是联结类与类的一种层次模型。继承是面向对象程序设计能够提高软件开发效率的重要原因之一。继承意味着派生类中无须重新定义在父类中已经定义的属性和行为,而是自动地、隐含地拥有其父类的全部属性与行为。继承机制允许和鼓励类的重用,派生类既具有自己新定义的属性和行为,又具有继承下来的属性和行为。当派生类又被它更下层的子类继承时,它继承的及
9、自身定义的属性和行为又被下一级子类继承下去。继承是可以传递的,符合自然界中特殊与一般的关系。继承性具有重要的实际意义,它简化了人们对事物的认识和描述。比如我们认识了飞行器的特征之后,再考虑飞机、飞船和弹道时,由于它们都具有飞行器的共性,于是可以认为它理所当然地具有飞行器的一般本质特征,从而只需把精力用于发现和描述飞机、飞船和导弹独有的特征。面向对象程序设计中的继承性是对客观世界的直接反映。通过类的继承,能够实现对问题的深入抽象描述,反映人类认识问题的发展过程。6什么是面向对象程序设计中的多态性?【解答】面向对象程序设计的多态性指父类中定义的属性或行为,被派生类继承之后,可以具有不同的数据类型或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 概述
限制150内