3.1什么是面向对象编程-TsinghuaUniversity.PDFVIP

3.1什么是面向对象编程-TsinghuaUniversity.PDF

  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文档。上传文档
查看更多
第 3 章 对 象 与 类 本章开始讨论面向对象编程(object-oriented programming )。面向对象编程的基本组成 部分是规范、实现和对象的使用。在第 2 章中,我们已经学习了一些对象的例子,这些对 象包括字符串和文件等,它们都是强制型 Java 库的一部分。我们还学习了这些对象都有内 部状态,通过应用点运算符选择方法可以操作这些内部状态。 Java 中,通过定义类来指 定对象的状态和功能。对象是类的实例。 在这一章中,我们将学习 Java 如何使用类来实现封装(encapsulation )和信息隐藏(information hiding )。 如何实现类和自动生成文档。 如何将类归纳成包。 3.1 什么是面向对象编程 面向对象编程 20 世纪 90 年代出现并占主要地位。在这一节中,我们讨论 Java 提供 的一些对面向对象的支持方式,并介绍面向对象编程的一些原则。 对象是面向对象编程的核心。对象是具有结构和状态的数据类型。每个对象定义的操 作都可以访问或操作状态。正如我们已经学到的, Java 中,对象与基本类型不同,但这 只是 Java 的特性,而不是面向对象编程的范式。除了执行常见的操作之外,我们还能执行 下列的操作: 使用可能的初始化程序创建新对象。 复制或测试两个对象是否相等。 对对象执行 I/O 。 此外,我们将对象视为用户不能剖析的原子单位 (atomic unit )。大多数人并不认为改 变表示浮点数的位数是不务正业,但是通过改变浮点数本身的内部表示来试图提升一些浮 点对象的行为是完全荒谬的。 将原子性的原则称为信息隐藏 (information hiding )。用户不直接访问对象或对象的实 现;用户只能通过对象提供的方法间接地访问对象。我们可以将每个对象视为即将到来的 警告,“不要打开- 内部没有为用户提供服务。”在现实生活中,如果有了这样的警告,而不 顾警告去尝试解决问题所导致的后果往往是弊大于利。在这方面,编程模拟了真实的世界。 数据分组和应用于数据之上的操作一起形成了聚合,而隐藏的聚合实现的细节,这就是封 装 (encapsulation )。 面向对象编程的一个重要目标是支持代码复用。正如工程师在他们设计中反复使用组 件一样,程序员能够复用对象,而不是一再重新实现这些对象。当我们已经确切实现了所 需的对象,复用就是一件简单的事情。面临的挑战是当利用已有的对象时,所需的对象与 58 数据结构与问题求解(Java 语言版)(第4 版) 已有的对象并不完全匹配,而只是非常相似。 面向对象语言提供了多种机制来支持复用这一目标。其一就是使用泛型 (generic )代 码。如果除了基本类型的对象之外,实现是相同的,那么就不必完全重写代码:而是编写 泛型代码,以便这些代码能用于任何类型。举个例子,用于对象数组排序的逻辑是独立于 要被排序的类型,所以可以使用遗传算法。 继承机制允许用户扩展对象的功能。换而言之,用户可以使用原始类型的受限 (或扩 展 )属性来创建新类型。继承去实现代码复用的目标。 另一个重要的面向对象的原则是多态 (polymorphism )。多态引用类型可以引用一 列 不同类型的引用对象。当将方法应用到多态类型时,会自动选择适用于实际引用对象的操 作。 Java 中,这作为继承实现的一部分。多态性使用户能够实现共享相同逻辑 的类。正 如在第 4 章将讨论的,多态性 Java 库中进行说明 。使用继承来创建继承将面向对象编程 与较简单的基于对象的编程区分开来。 Java 中,遗传算法作为继承实现的一部分。第 4 章将讨论继承和多态。在本章中, 我们介绍 Java 如何使用类来实现封装和信息隐藏。 Java 中,对象是类的实例。除了两方面的重要增强之外,类与 C 结构或

文档评论(0)

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

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

1亿VIP精品文档

相关文档