多态及类利用案例轻松学习语言配套

多态及类利用案例轻松学习语言配套

ID:38435222

大小:3.39 MB

页数:19页

时间:2019-06-12

多态及类利用案例轻松学习语言配套_第1页
多态及类利用案例轻松学习语言配套_第2页
多态及类利用案例轻松学习语言配套_第3页
多态及类利用案例轻松学习语言配套_第4页
多态及类利用案例轻松学习语言配套_第5页
资源描述:

《多态及类利用案例轻松学习语言配套》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十一讲:多态及Object类清华大学出版社 利用案例轻松学习Java语言(2013年)配套课件PPT不足之处请多多指教课程导入(1)利用interface定义接口,利用implements实现接口;(2)子类可以继承一个父类实现多个接口,从而达到多重继承的目的。1、已经学习的相关知识2、思考问题在图中,同样是吃东西,但不同的动物吃的东西不同,本次课讨论Java采用多态机制来实现不同对象能够选择不同的行为。11.1多态的作用多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态的作用(

2、1)提高了程序的抽象程度和简洁性;(2)最大程度降低了类和程序模块间的耦合性;(3)提高了类的封闭性,使得它们不需要了解对象的具体实现细节,就可以很好地共同工作。11.2多态的实现机制自动强制11.3对象向上转型一个学生对象一定是一个人吗?一个教师对象一定是一个人吗?一个子类的对象一定是父类的实例!因此可以用父类对象指向子类实例!Personper=newStudent()Personper=newTeacher()11.3对象向上转型程序案例11-1:对象向上转型父类A定义子类B继承父类A定义子类C继承父类

3、Aa1、a2是哪个类中的方法?11.3对象向上转型课堂练习11-1:动物都有需要吃东西,但鸡和猫吃的方法和东西不同,如鸡采用啄的方法吃米,而猫采用咬的方法吃鱼!结构如下图所示,利用对象多态完成该模型。子类子类对象=(子类)父类实例;11.4对象向下转型一个人对象一定是学生吗?一个人对象一定是教师吗?父类对象不一定是子类的实例!必须进行强制转换!对象的向下转型必须强制转换。因为一个父类对象不一定是某一个子类的实例。语法格式11-2对象向下转型11.4对象向下转型程序案例11-1:对象向下转型自动向上转型父类对象

4、是否子类的实例!把父类对象强制转换为子类对象11.4对象向下转型课堂练习11-2:定义一个方法,该方法的参数是父类的对象,然后测试该方法接受父类的任意子类对象,并根据不同子类对象调用相应子类的方法。11.5Object类(1)Object类是所有Java类的祖先类;(2)如果一个类在声明时没有继承其它类,那么这个类直接继承Object类。classStudentextendsObject{}classStudent{}相同11.5Object类程序案例11-3:覆写toString()方法默认是Object的

5、子类覆写Object的类的方法直接输出对象(不覆写,则是哈希吗)显示调用toString()方法,与17行结果一样11.5Object类对象比较比较对象的内容比较对象的地址std1==std2的值?Studentstd1=newStudent(“奥巴马”,55);Studentstd2=newStudent(“奥巴马”,55);std1.equals(std2)的值?Std1和std2的内容一样吗?11.5Object类程序案例11-4:覆写equals()方法,用来比较对象的内容覆写Object的类的equ

6、als()方法当前对象this与比较对象std的数据成员进行比较测试equals()方法11.5Object类Object类是所有类的祖先类,根据对象的多态性,通过自动向上转型实现接收任意对象。Object对象接受任意实例11.6课堂小结2、多态的两种实现方式的原理是什么?多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。1、什么是多态,举例说明?例如同样是计算面积,对于长方形为长×宽,对于圆为πr2;(1)向上转型是自动进行的,因为子类的对象一定是父类的实例;通过子类继承父类,同时实现

7、多个接口来实现多重继承。(2)向下转型需要强制进行,因为父类的对象不一定是某个子类的实例,所以需要强制指定子对象的类型。3、Object类中equals()方法的作用?equals()方法的默认比较的是当前对象和被比较对象的引用,覆写该方法用来比较两个对象的内容。11.7作业1、把动物的奔跑定义接口的方法,然后定义螃蟹、老虎类实现该接口的方法,螃蟹和老虎的奔跑方式不同,采用对象多态的方式测试不同动物的奔跑方式。2、定义一个Dog类,属性有名称、体重、毛色、种类,方法有吃、玩、睡和吠,覆写toString()方

8、法直接返回狗的属性信息,覆写equals()方法能够比较两只狗是否完全相同。清华大学出版社 利用案例轻松学习Java语言(2013年)配套课件PPT不足之处请多多指教

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。