Java程序设计韦鹏程石熙肖丽单元4类的继承幻灯片.pptVIP

Java程序设计韦鹏程石熙肖丽单元4类的继承幻灯片.ppt

  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文档。上传文档
查看更多
PPT研究院 POWERPOINT ACADEMY * * 三、相关知识 1.java的单继承机制 Java语言不支持多重继承,即一个类只能有一个父类。在这个方面,Java与同为面向对象语言的C++有很大的不同。多重继承与多层继承是完全不同的方式,多重继承允许一个子类有不止一个父类;而多层继承指的是继承的传递性,即子类同样可以被继承,从而形成继承链。本任务中程序4.7是一个很好的多层继承的范例。 2.final关键字 final的意义就是最终,用于修饰类、方法和变量,就表示不能改变。 final修饰类,表示此类不能被继承。 例如,声明final类FC的方式为: final class FC{ …… } 此时FC类就不能再有子类。 final修饰方法,声明该方法不能被重写或覆盖。也就是其子类不能改变final方法原本的定义。显然,final类所有的成员方法也都是final的。 final修饰变量,声明该变量的值不能被改变。显然,不能改变值的变量也就是一个常量。final变量主要用于以下两方面:或是一个在编译时就固定的常数,或是在初始化变量后就固定不变的数值。 四、任务小结 本任务使用继承机制,描述了三种不同的学生。这种由子类进一步派生子类的方法被称为多层继承,这是继承的一种传递。Java语言是一种单继承语言,一个子类只能有一个父类。当然,如果不希望被继承可以使用final关键字修饰。 任务四 计算各种形状的面积 二、任务实施 1.建立形状类 本任务要求计算圆形和矩形的面积,自然需要建立圆形类和矩形类,且圆形类与矩形类中都应封装计算面积的方法。然而,无论是让圆形类继承矩形类,让矩形类继承圆形类,都与逻辑不符,也不利于编程。更好的方案是从圆形和矩形中抽象出形状类,使其成为父类,如图4.8所示。这样既使代码变得结构明晰,也更容易对程序进行扩展。例如新增三角形类,也可以继承自形状类。 程序4.10 Shape: 2.测试形状类 编写主类以及main()方法,以矩形的长宽分别为10和20,圆形的半径为15,测试圆形与矩形面积的计算。 程序4.11 ShapeAreaTest: public class ShapeAreaTest{ public static void main(String[] args){ Rect R=new Rect(10,20); Circle C=new Circle(15); System.out.println(R.name+的面积为+R.area()); System.out.println(C.name+的面积为+C.area()); } } 3.抽象的形状类 在本任务的实施中,我们声明了一个形状类Shape,然而在程序中却没有对它进行实例化,尽管这个Shape类从语法上是完全可以被实例化的。在现实生活中,我们也不太需要一个抽象的形状的实例,更不可能提出计算“形状”面积的要求。 因此,使用abstract修饰Shape类,创建抽象类更符合任务的要求。 abstract class Shape{ protected String name; Shape(String n){name=n;} abstract double area(); } 4.体现多态性 (1).使用多态 多态性是指程序语言中的“一种定义,多种实现”,也即是一个方法名,却有不同的多种实现。多态是面向对象编程方法中非常重要的概念,在程序中灵活运用可以使得代码的可读性和扩展性得到提高。 多态分为编译时多态和运行时多态。 程序4.12 ShapeCalTest: (2).多态的优点 动态的灵活运用可以极大提高代码的扩展性和可读性,是面向对象编程很大的一个优势。 例如,我们在本任务原有要求的基础上,需要增加三角形面积的计算功能,只需声明一个三角形类Triangle即可。 修改程序4.11,添加三角形类的声明,并修改main()方法,保存程序为“ShapeCalTest2.java”。 三、相关知识 abstract关键字 无论是类或是方法都能使用abstract修饰,成为抽象类与抽象方法。抽象类和抽象方法通常用来表达一些没有具体实现的模板,在使用时应遵循以下规则。 任何含有抽象方法的类都必须被定义为抽象类,反之并不成立,抽象类中可以含有非抽象方法。甚至可以定义不含抽象方法的抽象类。 抽象类不能被实例化,但可以被继承。 抽象类若被继承,子类必须给出父类抽象方法的具体实现,除非子类也是抽象类。 四、任务小结 本任务用Java实现了一个简单的形状面积计算的程序,程序中使用了抽象类,并使其体现了面向对象的多态性。至此,面向对象编程的三大基石——封装、继承和多态都已经

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档