第五单元(四)第五单元(四)深入理解多态深入理解多态回顾与作业点评在子类中访问父类成员的关键字是什么
方法重载和方法重写的区别
笔记本支持用户使用电池(AcPower)和电源(Battery)两种方式进行供电使用多态性输出目前笔记本的电源供电情况“XX供电中…”参考答案预习检查子类中定义抽象类的关键字是什么
as关键字的作用
本章任务使用OO思想实现员工器乐演奏实现员工执行工作列表、查看工作指标完成情况实现饲养员给不同动物喂食理解里氏替换原则会使用父类类型作为参数理解抽象类和抽象方法理解虚方法和抽象方法的区别本章目标里氏替换原则//…SEai=newSE();SEjoe=newSE();PMgates=newPM();Listempls=newList();empls
Add(ai);empls
Add(joe);empls
Add(gates);//…子类可以替换父类子类可以替换父类里氏替换原则(LSP)在一个软件系统中,子类对象可以替换所有使用的父类对象,且程序行为没有变化里氏替换原则的应用一个鸟类,一个鸵鸟类,如果鸟可以飞,鸵鸟类可以继承鸟类吗
如果鸵鸟类继承鸟类,违反“鸵鸟会飞”如果鸵鸟类继承鸟类,违反“鸵鸟会飞”根据LSP原则:软件设计时,鸵鸟类不能继承鸟类根据LSP原则:软件设计时,鸵鸟类不能继承鸟类is与as操作符is检查对象是否与指定类型兼容if(empls[i]isSE)判断empl集合的元素是否是SE对象判断empl集合的元素是否是SE对象as用于在兼容的引用类型之间执行转换for(inti=0;i