第5讲 使用类和对象编程.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文档。上传文档
查看更多
第5讲 使用类和对象编程

第3章 使用类和对象编程(三) 主要内容 构造方法 内部类 实例 本章小结 本章实训 重载方法 构造方法 构造方法(也称构造器,constructor) 是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何显式数据类型。Java程序中的每个类都有构造方法,用来初始化类的成员变量。用new创建对象时,一定会调用一个构造方法。 每个类都有默认的构造方法(它没有任何参数),通过构造方法,变量被初始化。如果类没有重新定义构造方法,则创建对象时调用默认的构造方法。否则,创建对象时调用自定义的构造方法 实例代码Ex3_5 程序的主方法中,Hello hi=new Hello(“China!”); 创建一个Hello对象并存储到一个对象变量hi中,且返回该对象的引用,hi是Hello类的一个实例 构造方法的重载 构造方法table()示例 实例Ex3_6 内部类 类可以嵌套定义,即在一个类的类体中,还可以嵌套定义另外一个类。被嵌套的类称为内部类(Inner Class),它的上级称为外部类。内部类中还可以再嵌套另一个类,在最外层的类被称为顶层类(Top level class)。内部类的创建方法与外部类相似。 参见实例代码3_7 有一种称为匿名内部类(anonymous inner class)的内部类,是指可以利用内部类创建不具名称的对象,并利用它访问类里的成员。匿名内部类的创建不同于普通的内部类的创建,不需要定义类名,直接用new创建对象。参见chap9。 实例一 已知圆半径,用面向对象的编程方法,计算圆面积。 分析: 要计算圆的面积,根据面向对象程序设计的思想,一切数据和操作被封装在对象中,圆是现实世界模型,那么我们可以将圆作为一个对象来处理。这里的数据就是圆的半径,操作即计算圆面积。 进一步分析: 我们具体处理的对象是圆,对象是类的实例化,因此需要创建一个类,类的属性就是半径。由于要计算圆面积,需要获得圆的半径,而圆的半径应该能够变化,这些操作是类的属性行为,操作在类中以方法的形式表示,因此需要在类中建立3个方法,分别用来读取圆半径、修改圆半径和计算圆面积。 类和方法的设计: Circle作为类名,数据为Radius,创建的3个方法:getRadius()、setRadius()和computeArea()。 实例代码Ex3_8 程序分析: 声明了类Circle,方法getRadius、setRadius和computeArea()分别用来读取、修改半径和计算圆面积。主方法中先通过自定义构造方法circle(double r),实例化对象myCircle并对其成员变量进行初始化。第一行输出语句中,myCircle.getRadius()获得圆的初始化半径5.0,然后由此半径计算圆面积;下一行语句 myCircle.setRadius(myCircle.getRadius()*2.0); 修改了圆的半径为10.0,再据此半径计算新的圆面积。 实例2 设计一个名为Fan的类模拟风扇,属性为speed 、on、radius和color。假设风扇有3种固定的速度,用常数1、2、3表示慢、中、快速。写一个用户程序,程序中创建一个Fan对象,具有最大速度、半径为10、黄色、打开状态的属性。要求返回包含类中所有属性值的字符串。 分析:这个问题已经给了类名和属性名,我们需要设计的是如何获得和修改4个属性值,以及如何将4个属性转换为字符串。 实例代码Ex3_9 本章小结 类的定义 对象的创建 成员变量和成员方法 类与对象的关系 方法的声明 实例变量(或方法)和静态变量(或方法) 方法重载和构造方法 内部类的定义 面向对象的编程方法 书面作业 P66 10、12 * * 在Java程序中,可以创建名字相同,但是参数和返回值不同的多个方法,就是方法重载。对于多个重载方法,到底调用哪个方法,是通过传递给方法的参数来决定的。 参见实例代码Area 类Area中,方法getArea()被定义了4次。 如果 Area ar=new Area(); int a=3; float s,b=4.0f; s=ar.getArea(a,b); 按照以上代码,显然是调用了第3个方法,返回值为浮点型。 注意,可以定义名称相同,但参数不同的方法;但不能定义名称相同,参数也完全一致的方法,即使返回类型不同。 例如,下面的代码是错误的。 public void getArea(int a,int b);

文档评论(0)

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

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

1亿VIP精品文档

相关文档