- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计概述
1.什么是结构化程序设计方法?这种方法有哪些优点和缺点?
【解答】结构化程序设计方法是指20世纪60年代开始出现的高级语言程序设计方法,由于采用了数据结构化、语句结构化、数据抽象和过程抽象等概念,使程序设计在符合客观事物与逻辑的基础上更进了一步。结构化程序设计的思路是:自顶向下、逐步求精。程序结构由具有一定功能的若干独立的基本模块(单元)组成,各模块之间形成一个树状结构,模块之间的关系比较简单,其功能相对独立,模块化通过子程序的方式实现。结构化程序设计方法使高级语言程序设计开始变得普及,并促进了计算机技术的深入应用。
虽然结构化程序设计方法采用了功能抽象、模块分解与组合,以及自顶向下、逐步求精的方法,能有效地将各种复杂的任务分解为一系列相对容易实现的子任务,有利于软件开发和维护;但与面向对象程序设计方法相比,结构化程序设计存在的主要问题是,程序的数据和对数据的操作相互分离,若数据结构改变,程序的大部分甚至所有相关的处理过程都要进行修改。因此,对于开发大型程序具有一定的难度,软件的可重用性差,维护工作量大,不完全符合人类认识世界的客观规律。
2.面向对象程序设计有哪些重要特点?
【解答】软件设计的目的是为了解决日常生活中存在的各种实际问题,面向对象程序设计与以往各种程序设计方法的根本区别是程序设计的思维方法的不同。它主要具有如下重要特点:
(1)面向对象程序设计实现了较直接地描述客观世界中存在的事物(即对象)及事物之间的相互关系,它所强调的基本原则是直接面对客观事物本身进行抽象,并在此基础上进行软件开发,将人类的思维方式与表达方式直接应用在软件设计中。
(2)面向对象的程序设计将客观事物看作具有属性和行为的对象,通过对客观事物进行抽象来寻找同一类对象的共同属性(静态特征)和行为(动态特征),并在此基础上形成类。
(3)面向对象的程序设计将数据和对数据的操作封装在一起,提高了数据的安全性和隐蔽性。
(4)面向对象的程序设计通过类的继承与派生机制以及多态性特性,提高了软件代码的可重用性,因而大大缩减了软件开发的相关费用及软件开发周期,并有效地提高了软件产品的质量。
(5)面向对象程序设计的抽象性和封装特性,使对象以外的事物不能随意获取对象的内部属性,有效地避免了外部错误对内部所产生的影响,减轻了软件开发过程中查错的工作量,减小了排错的难度。
(6)面向对象程序设计较直观地反映了客观世界的真实情况,使软件设计人员能够将人类认识事物规律所采用的一般思维方法移植到软件设计中。
3.面向对象与面向过程程序设计有哪些不同点?
【解答】面向过程的程序设计方法将客观事物中本质上密切相关、相互依赖的数据和对数据的操作相互分离,这种实质上的依赖与形式上的分离使得大型程序既难以编写,也难以调试、修改和维护,代码的可重用性和共享性差。
而面向对象程序设计方法是一种以对象为基础,以事件或消息来驱动对象执行相应处理的程序设计方法。它将数据及对数据的操作封装在一起,作为一个相互依存、不可分离的整体——对象;它采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型——类。类中的大多数数据,只能通过本类方法进行操作和处理。面向对象程序设计以数据为中心而不是以功能为中心来描述系统,因而非常适合于大型应用程序与系统程序的开发。
在程序结构上,面向对象程序与面向过程程序也有很大的不同。面向过程的程序主要由顺序结构、选择结构和循环结构组成,程序的基本单位是函数,程序的执行顺序也是确定的。而面向对象程序由类的定义和类的使用两部分组成,程序的基本单位是类,在主程序内定义对象,并确定对象之间消息的传递规律,程序中的所有操作都是通过向对象发送消息来实现的,对象接到消息后,通过消息处理函数完成相应的操作。
4.什么是面向对象方法的封装性?它有何优缺点?
【解答】封装性指将对象的属性和行为代码封装在对象的内部,形成一个独立的单位,并尽可能隐蔽对象的内部细节。封装性是面向对象方法的一个重要原则,C++面向对象方法的封装特性包含以下两层含义:
第一层含义是将对象的全部属性和行为封装在对象内部,形成一个不可分割的独立单位。对象的属性值(公有属性值除外)只能由这个对象的行为来读取和修改。
第二层含义是“信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一道屏障,只保留有限的对外接口与外部发生联系。
面向对象方法的封装性具有以下特点:
(1)封装性使对象以外的事物不能随意获取对象的内部属性,有效地避免了外部错误对它产生的影响,大大减轻了软件开发过程中查错的工作量,减小了排错的难度。
(2)封装性使得当程序需要修改对象内部的数据时,减少了因为内部修改对外部的影响。
(3)封装性使对象的使用者与设计者可以分开,使用者不必知道对象行为实现的细节,而只使用设计者提供的外部接口
您可能关注的文档
最近下载
- 贵州省巩固拓展脱贫攻坚成果专项学生资助申请表.docx VIP
- 信息系统自行软件开发管理规定.docx
- 湖北省武汉市洪山区2024-2025学年八年级上学期期中质量检测数学试题(图片版,含答案).doc VIP
- 2025至2030全球及中国腓骨肌萎缩症ⅠA型药物行业项目调研及市场前景预测评估报告.docx
- 2025年供电所职工考试题库及答案.docx VIP
- 电网考试供电局简答题.pdf VIP
- 附件2.贵州省巩固拓展脱贫攻坚成果专项学生资助申请表(本科).docx VIP
- 基于Matlab的变压器励磁涌流仿真分析.doc VIP
- SH╱T 3526-2015 石油化工异种钢焊接规范.pdf VIP
- 《现代中式家居设计》课件.ppt VIP
文档评论(0)