继承性和类扩充.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
继承性和类扩充ppt整理

继承性和类扩充 对象 (object) 我们可以把生活所在的真实世界(Real World)当作是由许多大小不同的对象所组成的。对象可以是有生命的个体,比如一个人或一只鸟。 对象 对象也可以是无生命的个体,比如一辆汽车或一台计算机。 对象也可以是一件抽象的概念,如天气的变化或鼠标所产生的事件。 对象的特征 对象有两个特征:状态(state)和行为(behavior)。例如:一个人有他的身高或体重作状态,并有他的行为——如唱歌、打球、骑摩托车、开汽车。一只狗有它的颜色作状态,也有它的行为,如吠叫或跳跃。 而在程序设计中,软件对象的概念由真实世界对象而来。对象的概念是面向对象软件对象将状态保存在变量(variables)或称数据字段(data field)里。而行为则借助方法(methods)为工具来实现 。 软件对象的定义 我们可以对软件对象作以下的定义—— 汽车对象 以汽车为例,我们可定义其状态与方法如: OOP三大特性:封装、继承与多态 封装(encapsulation ) 从软件对象的表示图里,我们可以看到对象的核心是由对象的变量所构成。对象的方法包围此核心,使核心对其他的对象是隐藏的,而将对象的变量包裹在其对象方法的保护性监护之下就称之为封装(encapsulation)。封装用来将对其他对象不是重要的实行细节隐藏起来。就好比你开车换档时,并不须要知道变速箱、齿轮等机械是如何运作的,你只要知道将档排到那里即可。同样在软件程序中,你并不需要知道 一个类的完整结构是如何,你只要知道要调用哪一个方法即可。OOP将数据成员(Data Member)和属于此数据的操作方法(operating method),都放在同一个实体(entity)或称对象(object)中,这就是所谓的封装。 封装 封装的用意,是避免数据成员被不正当的存取,以达到信息隐藏(information hiding)的效果,避免错误的存取发生。封装相关的变量及方法到一个软件包里,是一个简单但却很有能力的理念,此法对软件开发者提供了两个主要的好处: 1.模块化(modularity):一个对象的原始文件可以独立地被撰写及维护而不影响其他对象。而且对象可以轻易地在系统中来回地传递使用。就好像你借车给朋友,而它仍能正常地运作一样 。 2.信息隐藏(information hiding):一个对象有一个公开的接口可供其他的对象与之沟通,但对象仍然维持私有的信息及方法,这些信息及方法可以在任何时间被修改,而不影响那些依赖此对象的其他对象。 消息 (message) 单一对象本身并不是很有用处。而通常是成为一个包含许多对象的较大型程序的一个组件时,通过程序中这些对象的交互,程序可以达成更高级的功能以及更复杂的行为,就如汽车自己本身并不会产生行为,而是当你(另一个对象)发动汽车,踩油门(交互)后,汽车内部就发生一连串复杂的行为。 软件对象是通过传送消息给其他对象来达到交互及沟通的作用。如下图所示: 消息 (message) 有时候接受消息的对象需要更多的信息,以正确地知道要做什么事,例如开车换档时要指明是要换低速或高速档: ?一个消息是由3个元素所组成: 1.消息目标对象(你的汽车)。 2.执行方法的名字(换档)。 3.执行方法所需用的参数(parameters)(低、高速档)。 消息的好处 1.一个对象的行为是通过它的方法来表达,所以(除了直接的变量存取外)信息传递已支持所有对象间可能的交互。 2.对象不需要在相同的程序中,或者相同的机器上送出或接受与其他对象间的消息。 类 (class) 在真实世界里,有许多同“种类”的对象。而这些同“种类”的对象可被归类为一个“类”。例如我们可将世界上所有的汽车归类为汽车类,所有的动物归为动物类。 实例 (instance) 汽车类有些共同的状态(汽缸排气量,排档数,颜色,轮胎数……)和行为(换档,开灯,开冷气……),但每一台汽车个别的状态及方法可不同于且独立于其他汽车 。 你的汽车只是这世界中许多汽车中的一个。我们就称你的汽车对象是汽车类中的一个实例(instance)。 软件对象蓝图——类 (calsses) 关于类与实例的概念,我们需要进一步来探讨。你想想看,汽车制造商是如何造汽车的?他们会为每一台车设计一种蓝图吗?当然不可能!他们会使用同一个蓝图来制造许多相同的汽车,或者只要稍加修改,即可成为不同“款”的车。这样可大大提高生产效率。 在面向对象软件设计里,也可以利用此原理来制造一些软件对象蓝图。这些软件对象蓝图就称作类(calsses)。 类与对象的关系: 对象(实例)的产生——New关键字 类就好比一个蓝图。那实例(instance)就是从一种类里所产生具有

文档评论(0)

zyzsaa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档