面向对象技术基本特征2.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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]通过接口实现多态 接口定义了一个类型需要实现的方法、属性、索引和事件,包括可能的参数类型和返回值类型,把具体的实现交由相应的类或结构,从而为组件提供多态能力。 多个类继承了相同的接口就实现了接口的多态,接口的多态性的访问和类的多态性性访问时一样的。 通过接口实现的多态性 封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。 封装使数据和操作

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档