slides04.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文档。上传文档
查看更多
slides04

第四章 编写类 本章主要内容 我们已经使用过预定义的类,现在我们学习编写自己的类来定义对象 本章重点: 类定义 实例数据 封装以及相关的Java修饰符 方法的声明及参数传递 构造函数 图形对象 事件和监听器 按钮和文本域 概要 编写类 前几章程序中使用的类都是java标准类库中已经定义的类 本章,我们开始自己定义类,然后在此基础上设计程序 包含main 方法的类只是程序的执行入口 真正的面向对象编程是基于定义的类来创建对象。 类与对象 回顾一下第一章的知识,对象有状态和行为 考虑一个六面的骰子: 它的状态(属性)可以定义为: (投掷后)显示哪一个面,即 当前面 它的基本行为: 骰子能被投掷,投掷能可能改变 骰子的当前面 我们可以通过设计一个类名为 Die的类来表示一个骰子,模拟骰子的状态和行为。 然后我们可以根据此骰子类实例化任意多的骰子对象 类 类包含数据申明和方法声明: 类 数据的值定义了通过类创建的对象的状态 方法的功能定义了通过此类创建的对象的行为 对于 Die 类,我们可以声明一个整数来代表此骰子显示的当前面 有一个称作 “roll”的方法,让骰子的当前面设置为1和6之间的一个随机数 类 我们可以根据需要给Die类设计其它数据和方法,使得此类的功能更加丰富并且增强其重用性 一个程序中没有必要使用一个类的所有内容 参考 RollingDice.java (105页) 参考 Die.java (106页) Die 类 Die类包含两个数据值: 常数MAX 表示骰子最大面的值 整数faceValue表示当前面的点数 方法roll 使用Math类的random方法来决定新面的点数 还有一些方法用于在任意时刻显示设置或重置当前面的值 toString 方法 所有的类都应定义一个 toString 方法 toString方法返回以某种方式表示此对象的一个字符串 当一个对象与一个字符串连接或者把对象作为参数传递给println方法, toString方法被自动调用 构造函数 前面提到过, 构造函数是一个特殊的方法,用于创建对象 构造函数名与类名相同。 Die类的构造函数 用于设置每个新对象的初始面的点数 public Die() { faceValue = 1; } 数据的作用域 作用域:程序中数据能被引用(使用)的位置: 在类级申明的数据(没有在任何方法内部),能被此类的所有方法使用,也称作实例数据: Die类的数据 MAX 、faceValue 方法内部声明的数据,只能在此方法中使用 方法中申明的数据称作局部数据(局部变量) 在 Die类, 变量 result 在 toString方法中申明 – 表明:它是局部数据,只能在toString方法中使用,不能在其他地方使用。 实例数据 Die类中申明了变量faceValue类型,但是并没有给它分配任何内存空间 Die类中的变量faceValue 是一个实例数据(在类级声明)。 每次创建一个Die对象,一个新的faceValue 变量被创建。 每个实例(对象)都有自己的版本 一个类的所有对象共享方法的定义,但是每个对象都有各自的数据空间 只有通过这种方式,两个对象才能有不同的状态 实例数据 我们通过下面的RollingDice 程序来描述两个Die对象: UML图(UML Diagrams) UML 是 the Unified Modeling Language的缩写,中文名称是 统一建模语言 UML 图表示类与对象之间的可视化关系 UML 类图 由一个或多个类构成, 每个类由: 类名, 属性 操作(方法)三部分组成。 类之间的线,表示关系. 带箭头的虚线,表明一个类使用另一个类的服务(即调用它的方法) UML类图 RollingDice程序的UML类图: 概要 封装 我们可以通过以下两种角度来观察一个对象: 内部 - 类中,变量以及方法的详细定义 外部 - 一个对象提供的服务 (方法) 从外部的角度,一个对象是一个封装的实体,它能提供一些特定的服务。 服务就是方法 封装 一个程序 (称作客户) 可以使用另外一个对象提供的服务 例如:RollingDice程序使用die1和die2对象的方法 客户程序可以使用其他对象提供的服务(方法),但是客户对象不必了解那些服务的具体实现。 任何针对对象状态(对象变量)的改变应该由对象自己的方法来完成。 这也就是说,对象是自治的(self-governing) 封装 一个封装的对象可以被看作一个黑匣子 ( black box )它的内部机制对客

文档评论(0)

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

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

1亿VIP精品文档

相关文档