- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 在前面的章节中,对Java的简单数据类型、数组、运算符和表达式及流程控制的方法作了详细的介绍。从本章开始将介绍面向对象的程序设计方法。面向对象的编程思想是力图使在计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能的一致。所以在面向对象的程序设计中,类(Class)和对象(Object)是面向对象程序设计方法中最核心的概念。 6.1 类的基本概念 类的概念是为了让程序设计语言能更清楚地描述日常生活中的事物。类是对某一类事物的描述,是抽象的、概念上的定义;而对象则是实际存在的属该类事物的具体的个体,因而也称为实例(Instance)。下面用一个现实生活中的例子来说明类与对象的概念。图6.1所示的是一个“汽车类”与“汽车实例”的例子。 其中,汽车设计图就是“汽车类”,由这个图纸设计出来的若干个汽车就是按照该类生产出的“汽车对象”。 一般来说,类是由数据成员与函数成员封装而成的,其中数据成员表示类的属性,函数成员表示类的行为。下面用Java类来描述圆柱体,并能保存圆柱体的信息(底半径和高),而且还能利用此类计算出圆柱体的面积和体积。 每一个圆柱体,无论尺寸大小,都有底半径和高这两个属性,而这两个属性就是圆柱体的数据,因此就本例而言,radius(半径)与height(高)可以说是圆柱体类的数据成员(data member)。 除了底半径和高这两个数据之外,还可以把计算底面积与体积这两个函数纳入圆柱体类里,变成类的函数成员(function member)。Java称这种封装于类内的函数为“方法”(method)。 所谓的“类”就是把事物的数据与相关功能封装(Encapsulate)在一起,形成一种特殊的数据结构,用以表达真实事物的一种抽象。“Encapsulate”原意是“将……装入胶囊内”,现在胶囊就是类,而成员变量与成员方法便是被封入的东西。图6.2为圆柱体类的示意图。 由图6.2可知,圆柱体类的成员变量有pi、radius与height,而成员方法则有计算面积的area()与计算体积的volume ()。 6.2 定义类 1.类的一般结构 [类修饰符] class 类名称 { //声明成员变量 [修饰符] 数据类型 成员变量名称; …… [修饰符] 返回值的数据类型 方法名(参数1,参数2,……) { 语句序列; return [表达式]; } …… } 其中class前面方括号“[]”中的类修饰符是可选项,用来说明类的特殊性质,类修饰符分为访问控制符、抽象类说明符、友元类说明符和最终类说明符四种。各修饰符的含义如表6.1所示。 表6.1类修饰符的含义 2.成员变量 一个类的成员变量描述了该类的内部信息,一个成员变量可以是简单变量,也可以是对象、数组等其他结构型数据。成员变量的格式如下: [修饰符] 变量类型 变量名 [=初值] 表6.2成员变量修饰符的含义 3.成员方法 声明方法的语法格式如下: [修饰符] 返回值的数据类型 方法名(参数1,参数2,……) { 语句序列; return [表达式]; } 方法的含义如表6.3所示。 表6.3成员方法修饰符的含义 (1)从语法形式上看,成员变量是属于类的,而局部变量是在方法中定义的变量或方法的参数;成员变量可以被public、private、static等修饰符所修饰,而局部变量则不能被访问控制修饰符及static所修饰;成员变量和局部变量都可以被final所修饰。 6.3 对象的创建与使用 对象是整个面向对象程序设计的理论基础,由于面向对象程序中使用类来创建对象,所以可以将对象理解为一种新型的变量,它保存着一些比较有用的数据,但可以要求它对自身进行操作。 对象之间靠互相传递消息而相互作用,消息传递的结果是启动了方法,完成一些行为或修改接受消息的对象的属性。 对象:创建-使用-销毁 6.3.1 创建对象 另外在创建对象时也可以将上面的两个语句合并成一行,即在声明对象的同时使用new运算符创建对象。如: Cylinder volu=new Cylinder(); 因为在一个方法内部的变量必须进行初始化,否则编译无法通过。当一个对象被创建时,会对其中各种类型的成员变量按表6.4自动进行初始化。除了基本类型之外的变量都是引用类型。所以在图6.3中所示的对象内存状态图中,成员变量radius的初始值为0。 表6.4 成员变量的初始值 6.3.2 对象的使用 创建新的对象之后,就可以对对象的成员进行访问。通过对象来引用对象成员的格式如下: 对象名.对象成员 在对象名和对象成员之间用“.”相连,通过这种引用可以访问对象的成员。 例如,若将对象volu的半径赋值为2.8,把高赋
文档评论(0)