- 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. 对象 从一般意义上讲,对象是现实世界中一个客观存在的事物,它可以是具体的事物,比如一辆车、一个三角形,也可以是抽象的规则、计划或事件,比如一项功能、一次活动。对象是构成世界的一个独立单位。 2. 对象的属性和行为。 任何一个对象都具有属性和行为这两个要素。 属性是用来描述对象的静态特征的一组数据,也可以说是描述对象的状态。例如三角形的三边长度。 行为是用来描述对象动态特征的一个操作序列,用于改变对象的状态,也可以是对象自身与外界联系的操作。例如设置三角形三边长度的操作,求三角形的周长和面积等。 对象实现了数据和行为的结合,使数据和行为封装于对象的统一体中 3. 类 类是对象抽象的结果,即对具有相同属性和行为的一个或一组相似的对象,忽略这些对象的个别的、非本质的特征,找出这些对象的本质特征,从而确定对象的共性,得出一个抽象的概念。例如:对多个不同尺寸的三角形个体,如直角三角形、锐角三角形等,忽略其具体的三边或三个角的大小,可以将其抽象为一种类型,称为三角形类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。对于三角形类,其属性是其三边的边长;类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。对于三角形类,其操作是设置三边的长度,求三角形的周长和面积等。因此,类是对象的抽象,而对象是类的特例,或者说是类的具体的表现形式。 4. 封装 封装就是把对象的属性和行为结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。封装反映了这样一个基本事实:事物的静态特征和动态特征是事物不可分割的两个侧面。在系统中把对象看成是它的属性和行为的结合体,使对象能够集中而完整地描述并对应一个具体的事物,使得系统可以直接映射现实世界。 5. 继承 继承是指一个类可以直接使用另一个类的属性和行为。这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承简化了人们对事物的认识和描述。比如知道了三角形类,那么研究等边三角形类时,就可以利用三角形类的一切属性和行为,而只需要把精力用于发现和描述等边三角形独有的那些特征上。 因为继承的方法可以很方便地利用一个已有的类建立一个新的类,这就使得类与类之间的公共特性能够共享,提高了软件的重用性。 6. 多态 多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 例如同样是输出操作,三角形类的对象调用这一操作时输出的是“一般三角形”。而等边三角形类的对象调用时输出的是“等边三角形”。 多态性允许每个对象以适合自身的方式去响应共同的消息,增强了软件的灵活性和重用性。 7. 消息和方法。 对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,该消息包含了接收对象去执行某种操作的信息。而类中操作的实现过程叫做方法,一个方法由方法名、参数、方法体组成。 由于对象的封装特性,使对象在系统中成为一些各司其职、互不干扰的独立单位,对象之间通信的惟一合法的动态联系途径就是消息。消息通信使系统中对象的行为能够互相配合,构成一个有机的运动的系统。因此可以说,因为有了封装,才有了消息。 面向对象的程序设计 在面向对象程序设计方法中,其程序结构是由各种类的集合及其它们的继承类的集合组成。从程序执行这一角度来看,可以归结为各对象和它们之间的消息通信。 简单地说,面向对象的分析设计方法可以分成以下4个步骤。 ① 找出问题中的对象和类; ② 确定每个对象和类别的功能,如具有哪些属性,具有哪些行为等; ③ 找出这些对象和类别之间的关系,确定对象之间的消息通信方式、类之间的继承和组合等关系; ④ 用程序代码实现这些对象和类。 类的声明 类是对一组具有相同属性、相同行为的对象的抽象的描述,不占用内存空间。可以把类看作“理论上”的对象,也就是说,它为对象提供蓝图,但在内存中并不存在。从这个蓝图可以创建任何数量的对象。 声明类的一般形式为: class 类名 { private: 成员数据和成员函数 protected: 成员数据和成员函数 public: 成员数据和成员函数 }; private(私有
您可能关注的文档
- 精细化学品大全-农药卷.pdf
- 卡培他滨合成工艺研究.doc
- 锂电应用基础知识培训考试试题-涂礼斌.doc
- 锂电应用基础知识-涂礼斌.ppt
- 辣椒高产优质栽培.pdf
- 两串电池保护PCB'A统计表.pdf
- 利用Mg含量控制Zn_1_x_Mg_xO薄膜压敏电阻器的阈值电压.pdf
- 两串N并电池PACK组装方案.pdf
- 量測能力檢定(GR&R)介紹-8.ppt
- 廖建军-农药、化肥的安全使用及主要农作物病虫害综合防治.ppt
- 南京理工大学《VC++程序设计》C++讲义第12章.ppt
- 南京理工大学《VC++程序设计》C++讲义第15章.ppt
- 南京理工大学《VC++程序设计》C++讲义第13章.ppt
- 南京理工大学《VC++程序设计》VC++_2008试卷标准答案与评分标准.doc
- 南京理工大学《VC++程序设计》VC++程序设计_2004.doc
- 南京理工大学《VC++程序设计》vC++程序设计_2008.doc
- 南京理工大学《VC++程序设计》VC++程序设计_2006.doc
- 南京理工大学《高等数学》01届高等数学(上)A卷.doc
- 南京理工大学《高等数学》01届高等数学(上)B卷.doc
- 南京理工大学《VC++程序设计》VC++书稿第1至4章.doc
最近下载
- 广东省茂名市信宜市2024-2025学年二年级上册语文期中考试语文试卷(无答案).pdf VIP
- 总工会日常工作试题.doc VIP
- 六年级上册数学第四单元《解决问题的策略—假设》教学课件(苏教版).pptx VIP
- 上海市徐汇区南洋模范中学2024-2025学年八年级上学期期中数学试卷.docx VIP
- 2025年北海市合浦县总工会招聘考试笔试试题.pdf VIP
- 2024-2025学年上海市徐汇区南洋模范中学七年级(上)期中数学试卷.doc VIP
- 入党积极分子和发展对象培养考察表.pdf VIP
- 2025年_防城港市总工会招聘考试笔试试题(含答案).pdf VIP
- 电气装置安装工程强制性条文汇总(20201228).docx VIP
- 林木采伐技术规程-知识培训.pptx VIP
原创力文档


文档评论(0)