版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象的程序设计的意义
面向对象的程序设计(ObjectOrientedProgramming,OOP)方法是目前比较流行的程序设计方法,和面向过程的程序设计比,它更符合人类的自然思维方式。在面向过程程序设计中,程序=数据+算法,数据和对数据的操作是分离的,如果要对数据进行操作,需要把数据传递到特定的过程或函数中。而在面向对象程序设计中,程序=对象+消息,它把数据和对数据的操作封装在一个独立的数据结构中,该数据结构称作对象,对象之间通过消息的传递来进行相互作用。由于面向对象本身固有的特性,使得面向对象程序设计已经达到软件工程的三个主要目标:重用性、灵活性和可扩展性。2面向对象的基本特征面向对象技术具有3大基本特征是:封装性、继承性和多态性。1.封装性封装性就是把对象的属性和方法结合成一个独立的单位,并尽可能隐蔽对象的内部细节,即1.把对象的全部属性和方法结合在一起,形成一个不可分割的独立单位(类或对象);2.信息隐蔽,对象的使用者只是通过预先定义的接口关联到某一对象的行为和数据,而无须知道其内部细节。封装的结果使对象以外的部分不能随意存取对象的内部数据,从而有效的避免了外部错误对它的影响,是错误局部化,大大减小了查错和排错的难度。342.继承性继承的本质是在已有的类的基础上进行扩充或改造,得到新的数据类型,以满足新的需要。它是存在于面向对象程序中的两个类之间的一种关系。当一个类A能够获取另一个类B中所有非私有的成员属性和行为时,就称这两个类之间具有继承关系。被继承的类B成为父类或超类(superclass)继承了父类或超类的属性和行为的类A成为子类(subclass)。在java面向对象程序设计中,一个父类可以同时拥有多个子类,每一个子类是父类的特殊化。使用继承的好处是对于相同的部分的属性和行为只需编写一次,这样可以降低代码编写中的冗余度,更好的实现代码的复用功能,从而提高效率,由于降低了代码的冗余度,从而使得程序的维护非常方便。3.多态性多态性一般是指在父类中定义的方法被子类继承后,可以表现出不同的行为。这使得同一个方法在父类及其各个子类中具有不同的语义。5面向对象程序设计的意义面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。优点是:极大的降低了程序的复杂度;缺点是:可扩展性差,修改代码麻烦;应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及ApacheHTTPServer等。6
面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来。面向对象的程序设计好比如来设计西游记,如来要解决的问题是把经书传给东土大唐,如来想了想解决这个问题需要四个人:唐僧,沙和尚,猪八戒,孙悟空,每个人都有各自的特征和技能(这就是对象的概念,特征和技能分别对应对象的数据属性和方法属性),然而这并不好玩,于是如来又安排了一群妖魔鬼怪,为了防止师徒四人在取经路上被搞死,又安排了一群神仙保驾护航,这些都是对象。然后取经开始,师徒四人与妖魔鬼怪神仙交互着直到最后取得真经。如来根本不会管师徒四人按照什么流程去取。7
面向对象的程序设计:优点:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题,无法预测最终结果。于是我们经常看到一个游戏人某一参数的修改极有可能导致bug的技能出现,一刀砍死3个人,这个游戏就失去平衡。应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纽约地铁介绍
- 内分泌减肥科普
- 活动策划新年仪式方案(3篇)
- 银行体验活动策划方案(3篇)
- 高中艺术班班级管理制度(3篇)
- 2026年及未来5年市场数据中国木雕屏风行业发展监测及投资战略咨询报告
- 《GA 648-2006交通技术监控信息数据规范》专题研究报告:专家视角下的深度与未来展望
- 纳税知识培训课件
- 养老院入住老人财产管理制度
- 企业员工培训管理制度
- 原发性骨髓纤维化2026
- 2023-2024学年北京市海淀区清华附中八年级(上)期末数学试卷(含解析)
- TCFLP0030-2021国有企业网上商城采购交易操作规范
- 《油气管道无人机智能巡检系统技术管理规范》
- 牵引供电系统短路计算-三相对称短路计算(高铁牵引供电系统)
- (完整版)第一性原理
- 安全技术劳动保护措施管理规定
- 学习主题班会课件 高三寒假攻略
- 高一年级主任工作总结(4篇)
- 论高级管理人员应具备的财务知识
- GB/T 7354-2003局部放电测量
评论
0/150
提交评论