[计算机软件及应用]JAVA类与对象.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]JAVA类与对象

第三章 类和对象 目标: 完成本章内容以后,您将能够: 掌握如何创建类和构造对象 掌握方法的重载和覆盖 理解类继承的概念 理解包概念 3.1 类和对象 Java 是一种完全面向对象的语言,类是Java语言的基础,因为类定义了对象的本性。既然类是面向对象程序设计Java 语言的基础,因此,你想要在Java程序中实现的每一个概念都必须封装在类中。 对象代表现实世界中的实体,如花朵、交通工具、银行帐号等。类代表了实体的属性和行为。这些属性称为数据,而行为则称为方法。数据由本语言支持的数据类型表示或实现。类是一种抽象数据类型。出于安全原因,某个类的数据不能由其它类单独访问。那么,如何访问数据呢?类中提供的方法可以访问并操作数据。这些方法称为成员函数,它们提供对数据成员的访问,可供用户访问。 类可以定义为数据和方法的集合(方法操作数据)。因此,数据和方法将被封装在类中。也许理解类最重要的事情就是它定义了一种新的数据类型。一旦定义后,就可以用这种新类型来创建该类型的对象。这样,类就是对象的模板,而对象就是类的一个实例。因为类只提供了对象的基本框架,所以只有在实例化为对象时才能被赋值。对属于同一个类的所有对象实例来说,它们都支持类似的“行为”。对象的行为由其接受到的消息定义。 下面是类的图形表示。 类模板 图 3.1: 类模板 示例:Fruit 类 图 3.2: Fruit 类 在以上示例中,创建了一个名称为 Fruit 的类。它包含了水果属性以及访问这些属性的方法。这些属性是通过基本数据类型描述的。声明类时,它将成为抽象数据类型。此数据类型用于创建该类的对象。在以上模板中,声明的三个变量称为成员变量或实例变量,因为它们的值特定于实例。同样,声明的方法也称为成员方法。 3.2 面向对象编程思想的回顾 所有面向对象的编程语言都提供帮助你实现面向对象模型的机制,这些机制是封装,继承及多态性。现在我们回顾一下这些机制的概念,同时介绍在Java中如何实现这些机制。 封装 封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。理解封装性的一个方法就是把它想成一个黑匣子,它可以阻止在外部定义的代码随意访问内部代码和数据。对黑匣子内代码和数据的访问通过一个适当定义的接口严格控制。 继承 通过对象、类,我们实现了封装,通过子类我们可以实现继承。比如,公共汽车、出租车、货车等都是汽车,但它们是不同的汽车,除了具有汽车的共性外,它们还具有自己的特点(如不同的操作方法,不同的用途等)。这时我们可以把它们作为汽车的子类来实现,它们继承父类(汽车)的所有状态和行为,同时增加自己的状态和行为。通过父类和子类,我们实现了类的的层次,可以从最一般的类开始,逐步特殊化,定义一系列的子类。同时,通过继承也实现了代码的复用。 在C++中支持多重继承,即一个类可以继承多个父类,这使得对象的实现变得非常复杂且不可预料(设想多个父类拥有某些相同的变量和方法)。Java只支持单一继承,大大降低了复杂度。 在Java中通过接口可以实现多重继承,接口的概念更简单,使用更方便,而且不仅仅限于继承,它使多个不相关的类可以具有相同的方法。 多态 Java通过方法覆盖和方法重载来实现多态。通过方法重载,一个类中可以有多个具有相同名字的方法,传递给它们的不同个数和类型的参数来决定使用哪种方法。通过方法覆盖,子类可以重新实现父类的某些方法,使其具有自己的特征。例如对于汽车类的加速方法,其子类(如赛车)中可能增加了一些新的部件来改善提高加速性能,这时可以在赛车类中覆盖父类的加速方法。这样隐藏了父类的方法,使子类拥有自己具体的实现,更进一步表明了与父类相比,子类所具有的特殊性。 所有与对象的通信都是通过消息完成的。消息发往的对象称为消息的接收体。消息定义了连接对象的接口。对象能做的所有事情都由其消息接口表示。对象只能通过消息访问。 下面的部分我们具体介绍面向对象机制在Java中的实现。 3.3 创建自己的类 将具有相同数据结构(属性)和行为(方法或操作)的对象归为一组称为类。每个类都描述一组对象的共同特性。每个对象都是类的一个实例。 类的每个实例对于每个属性都有自己的值,但与此类的其他实例共享属性名和操作。 3.3.1 类的通用格式 Java 语言中,定义类的通用格式为: class name { type variable1; … type variableN; type methodname1(parameter-list){ //方法体 } … type methodnameN(parameter-list){ //方法体 } } 关键字 class 开始了名称为 name 的类的定义。类的成员变量和成员方法包含在一对

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档