《深入理解多态》PPT课件.ppt
《《深入理解多态》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《深入理解多态》PPT课件.ppt(33页珍藏版)》请在三一办公上搜索。
1、第五单元(四),深入理解多态,回顾与作业点评,在子类中访问父类成员的关键字是什么?方法重载和方法重写的区别?笔记本支持用户使用电池(AcPower)和电源(Battery)两种方式进行供电使用多态性输出目前笔记本的电源供电情况“XX供电中”,参考答案,预习检查,子类中定义抽象类的关键字是什么?as关键字的作用?,本章任务,使用OO思想实现员工器乐演奏实现员工执行工作列表、查看工作指标完成情况实现饲养员给不同动物喂食,理解里氏替换原则会使用父类类型作为参数理解抽象类和抽象方法理解虚方法和抽象方法的区别,本章目标,里氏替换原则,/SE ai=new SE();SE joe=new SE();PM
2、gates=new PM();List empls=new List();empls.Add(ai);empls.Add(joe);empls.Add(gates);/,子类可以替换父类,里氏替换原则(LSP)在一个软件系统中,子类对象可以替换所有使用的父类对象,且程序行为没有变化,里氏替换原则的应用,一个鸟类,一个鸵鸟类,如果鸟可以飞,鸵鸟类可以继承鸟类吗?,如果鸵鸟类继承鸟类,违反“鸵鸟会飞”,根据LSP原则:软件设计时,鸵鸟类不能继承鸟类,is与as操作符,is 检查对象是否与指定类型兼容,if(emplsi is SE),判断empl集合的元素是否是SE对象,as 用于在兼容的引用类型
3、之间执行转换,for(int i=0;i empls.Count;i+)if(emplsi is SE)SE se=emplsi as SE;Console.WriteLine(se.SayHi();,一种类型转换方式,转换失败返回值为空,多态的应用2-1,某公司员工回家,可以选择不同交通工具(小汽车、地铁、自行车),每种交通工具具有行驶的行为,编程模拟员工回家的过程,多态的应用2-2,交通工具具有继承关系GoHome(TrafficTool tool),父类类型作为参数,父类类型作为参数2-1,实现交通工具继承关系,public class TrafficTool public virtua
4、l void Run()Console.WriteLine(车在行使!);,public class Car:TrafficTool public override void Run()Console.WriteLine(小汽车在行使!);,父类类型作为参数2-2,实现员工回家,public class Employee.public void GoHome(TrafficTool tool)Console.WriteLine(员工:+this.Name);tool.Run();,List empls=new List();empls.Add(ai);empls.Add(joe);/员工选择不
5、同交通工具回家empls0.GoHome(new Bicycle();empls1.GoHome(new Tube();,父类作为参数使用,可接受多种子类类型,传递实际创建的子类对象,tool.Run()执行相应子类的Run(),小结,实现多态的步骤:子类重写父类的方法两种方式创建父类变量,实例化子类对象把父类类型作为参数类型,该子类及子类对象作为参数传入运行时,根据实际创建的对象决定执行哪个方法,指导实现器乐演奏,训练要点父类类型作为参数需求说明公司举办器乐大赛,员工可以选择不同的乐器进行演奏,模拟演奏过程难点分析不同器乐继承自Instrument类员工具有Play(乐器类型)方法,publ
6、ic void Play(Instrument XX)XX.Play();,支持传入多种子类对象,避免为每一个子类类型编写方法,完成时间:25分钟,共性问题集中讲解,常见调试问题及解决办法代码规范问题,共性问题集中讲解,为什么需要抽象方法,public class TrafficTool public virtual void Run()Console.WriteLine(车在行使!);,交通工具类是抽象的概念,根本不可能实例化,Run()方法不具有实际意义!,public abstract class TrafficTool public abstract void Run();,使用抽象类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深入理解多态 深入 理解 PPT 课件
链接地址:https://www.31ppt.com/p-4846070.html