java多态.ppt.ppt

上传人:marr****208 文档编号:150261704 上传时间:2020-11-04 格式:PPT 页数:11 大小:564.50KB
返回 下载 相关 举报
java多态.ppt.ppt_第1页
第1页 / 共11页
java多态.ppt.ppt_第2页
第2页 / 共11页
java多态.ppt.ppt_第3页
第3页 / 共11页
java多态.ppt.ppt_第4页
第4页 / 共11页
java多态.ppt.ppt_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《java多态.ppt.ppt》由会员分享,可在线阅读,更多相关《java多态.ppt.ppt(11页珍藏版)》请在金锄头文库上搜索。

1、多态,类和对象,为什么需要多态 5-1,在教员类的基础上,开发一个类代表总部,负责对各教员进行评估,评估内容包括: 1、教员的自我介绍 2、教员的授课,为什么需要多态 5-2,public class HQ1 public void judge(JavaTeacher2 t) t.introduction(); t.giveLesson(); public void judge(DotNetTeacher2 t) t.introduction(); t.giveLesson(); public static void main(String args) HQ1 hq = new HQ1();

2、hq.judge(new JavaTeacher2(李明,北京中心“); hq.judge(new DotNetTeacher2(张明,天津中心“); ,第一种解决方案,大家好!我是北京中心的李明. 启动 Eclipse 知识点讲解 总结提问 大家好!我是天津中心的张明. 启动 Visual Studio 2005 知识点讲解 总结提问,控制台输出,为什么需要多态 5-3,现在,升级教员类,增加一种新类型:DBTeacher,该类型的教员专门负责教授数据库,要求如下: 属性:姓名、所属中心 方法:授课(启动Sql Server、实施理论课授课)、自我介绍 同时,总部也负责对这类教员进行评估,为

3、什么需要多态 5-4,如果在第一种解决方案的基础上去解决,我们需要如下两个步骤: 建立DBTeacher类 修改总部类,增加方法:judge(DBTeacher t),每增加一种新的教员类型,都要修改总部类,增加相应的judge(评估)方法,代码的可扩展性及可维护性极差,能找到这个解决方案的弊端吗?,为什么需要多态 5-5,第二种解决方案使用多态,public class HQ3 public void judge(AccpTeacher t) t.introduction(); t.giveLesson(); public static void main(String args) HQ3

4、hq = new HQ3(); hq.judge(new JavaTeacher2(李明,北京中心“); hq.judge(new DotNetTeacher2(张明,天津中心); hq.judge(new DBTeacher(“李岚,北京中心“); ,可以接收子类类型,根据实际创建的对象类型调用相应方法,大家好!我是北京中心的李明. 启动 Eclipse 知识点讲解 总结提问 大家好!我是天津中心的张明. 启动 Visual Studio 2005 知识点讲解 总结提问 大家好!我是北京中心的李岚. 启动 Sql Server 知识点讲解 总结提问,控制台输出,使用多态之后,当需要增加新的子

5、类类型时,无需更改总部类,程序的可扩展性及可维护性增强,什么是多态,简单来说,多态是具有表现多种形态的能力的特征 同一个实现接口,使用不同的实例而执行不同操作,彩色打印机,打印机,黑白打印机,打印效果:彩色,打印效果:黑白,打印,打印,public class Teacher public void giveLesson() System.out.println(知识点讲解); System.out.println(总结提问); ,如何实现多态,1、子类重写父类的方法 2、编写方法时,使用父类定义的方法 3、运行时,根据实际创建的对象类型动态决定使用哪个方法,小结 2,请编码实现如下需求: 乐

6、器(Instrument)分为:钢琴(Piano)、小提琴(Violin) 各种乐器的弹奏( play )方法各不相同。 编写一个测试类InstrumentTest,要求: 编写方法testPlay,对各种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏。 在main方法中进行测试,总结 2-1,class Base public String name; public Base() name = Base; public Base(String pName) name = pName; public void method() System.out.println(name); ,clas

7、s Child extends Base public Child() super(Child1); name=Child2; ,给定如下Java代码,编译运行后,输出结果是什么?,public class Sample public static void main(String args) Child c = new Child(); c.method(); ,Child2,控制台输出,1,2,3,总结 2-2,给定如下Java代码,编译运行后,输出结果是什么?,public class Teacher public void giveLesson() System.out.println(知识点讲解); ,public class DBTeacher extends Teacher public void giveLesson() System.out.println(启动 SqlServer); ,1,2,public class Test public static void main(String args) Teacher t = new DBTeacher (); t.giveLesson(); ,控制台输出,启动 SqlServer,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号