- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象技术基本特征
一、面向对象基本特征
1.封装性(Encapsulation)
在Java和C#语言中,类是封装的最基本单位。
封装防止了程序相互依赖性而带来的变动影响。
如:DVD中,通过外壳将内部电路等细节进行隐藏,用户使用DVD时不需要知道它是如何通过内部电路的运作来实现播放、暂停、快进等功能。
DVD利用外壳来封装内部电路
例 一个字符串操作的例子
注意:我们不是字符串类String的设计者,因此当我们对str对象进行Insert方法操作时,我们只能了解到它的操作结果,而对它的操作原理和操作实现过程却无法得知,我们甚至不知道它是怎样存储的,存储在哪里。
我们把这种类的数据不可知性和操作不可知性称为类的封装性。不难理解,作为使用者,我们不需要对数据和操作实现感兴趣。就好像买一个手机,我们只关心它是否能够正常通话,正常发短信,而对它如何接通电话,如何把短信息发出去等均不感兴趣。
类的封装性把类的设计者和类的使用者分隔开,使他们在设计程序时互不干扰,责任明确。
例 按如下类图,定义一个类,查看类的成员的可见性
Person类图
2. 继承性
类的概念来自于人们认识自然、认识社会的过程,是对客观世界的事物及其联系的抽象。在人们认识自然、认识社会的这一过程中,人们主要是使用两种方法,一种是特殊到一般的归纳法。在归纳的过程中,人们把一个个具体的事物的共同性质抽取出来,形成一个一般的概念,这就是“归类”。
如:人们根据“金正DVD350”、“飞跃VCD640”等具体的对象进行分析,发现它们都能“播放视频”,因而将磁带放像机、VCD、DVD等 设备统一归类为“放影设备”,归类的目的是为了更好地认识同类的事物共同的特征和行为。
另一种是由一般到特殊的演绎法。在演绎过程中,人们又把同类的事物,根据不同的性质进一步分成不同的小类,这就是“分类”。
如根据“放影设备”的性能、编码解码的方式不同,将“放影设备”进一步分成VCD和DVD等,分类的目的是为了进一步区别不同事物的特征和行为。
对象 康正 录像机 480 金正DVD350 飞乐VCD 640 (归类)
放影设备(父类)
(分类) 磁带放像机类 DVD类 VCD类 子类
继承是类不同抽象级别之间的关系,是子类自动共享父类数据和方法的机制。
如前所述,抽象的方法有归纳和演绎。由一些特殊类归纳出来的一般类称为这些特殊类的父类,特殊类称为一般类的子类。
继承分为单继承(一个子类只有一个父类)和多重继承(一个类有多个父类)。类的对象是各自封闭的,如果没有继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。
类的泛化关系
例 根据如下类图,定义一个基类和派生类。
基类Person(抽象类)
派生类Scholar(抽象类)
派生类Writer
程序运行效果
3. 多态性
对象根据所接收的消息产生行为,同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性 。
类的多态性
例 笔的多态例子
多态的种类:
编译时的多态性
编译时的多态性,就是程序在编译时就已经指定了重载函数,运行的时候不再选择重载函数。这种多态是通过重载来实现的。
运行时的多态性
运行时的多态性就是指系统在编译时不能够确认选用哪个重载函数,而是在系统运行的时候,才根据实际情况决定采用哪个重载函数。
运行时的多态性有3种方式。
[1] 通过继承实现多态
通过虚成员的方式实现运行时的多态
[2] 通过抽象类实现多态
抽象多态是指通过抽象类同时实现继承和接口的多态功能。
[3]通过接口实现多态
接口定义了一个类型需要实现的方法、属性、索引和事件,包括可能的参数类型和返回值类型,把具体的实现交由相应的类或结构,从而为组件提供多态能力。
多个类继承了相同的接口就实现了接口的多态,接口的多态性的访问和类的多态性性访问时一样的。
通过接口实现的多态性
封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。
封装使数据和操作
您可能关注的文档
- 高二期末冲刺之中国地理概况2.doc
- 《柳永词两首-望海潮》教案.doc
- 3.1.4明末清初主流思想的演变.doc
- 一键U盘安装Win7系统教程.doc
- 北京TD定时器和计数器分析.doc
- 课件:《乙醇醇类》.ppt
- 机器人乡村旅游竞赛规则.doc
- 提高彩钢屋面整体封闭性合格率(大元集团).doc
- 钓鱼时代美术作品鱼类原型.doc
- 无机化学原子结构与元素周期系基态原子电子排布元素性质周期性.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)