收藏 分享(赏)

[中心名称]-[班级号]-[学员姓名]-里氏代换原则.ppt

上传人:a****2 文档编号:3422206 上传时间:2024-04-29 格式:PPT 页数:8 大小:1.25MB
下载 相关 举报
[中心名称]-[班级号]-[学员姓名]-里氏代换原则.ppt_第1页
第1页 / 共8页
[中心名称]-[班级号]-[学员姓名]-里氏代换原则.ppt_第2页
第2页 / 共8页
[中心名称]-[班级号]-[学员姓名]-里氏代换原则.ppt_第3页
第3页 / 共8页
[中心名称]-[班级号]-[学员姓名]-里氏代换原则.ppt_第4页
第4页 / 共8页
[中心名称]-[班级号]-[学员姓名]-里氏代换原则.ppt_第5页
第5页 / 共8页
[中心名称]-[班级号]-[学员姓名]-里氏代换原则.ppt_第6页
第6页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、在线培训:面向对象设计,第七章,目标,掌握面向对象设计原则之里氏代换原则,概述,面向对象设计原则在使用面向对象思想进行系统设计时,总结出了若干面向对象设计原则,分别是单一职责原则开闭原则里氏代换原则依赖注入原则接口分离原则迪米特原则组合/聚合复用原则这些原则是面向对象设计的基石,坚持这些原则是提升面向对象设计质量的重要保障,里氏代换原则,定义:LSP:Liskov Substitution Principle,Liskov是该原则的提出者该原则的思想是:在任何父类出现的地方都可以用它的子类来代换,而不影响功能里氏代换原则是对开闭原则的扩展采用开闭原则必然用到抽象和多态,而这离不开继承里氏代换原

2、则就是对如何良好继承提出了衡量依据,里氏代换原则,举例1:,class Bird public void eat()public void fly()System.out.println(用翅膀飞);class Penguin extends Bird class Test public static void showFly(Bird bird)bird.fly();public static void main(String args)showFly(new Bird();showFly(new Penguin();,企鹅继承鸟类不符合LSP,因为企鹅不会飞,不能完全代换父类,里氏代换原则

3、,举例2:,class Dolphin extends Pet public void incrediBubble()System.out.println(神奇泡泡打砖块);public class Test public static void showPlay(Pet pet)if(pet instanceof Dog)Dog dog=(Dog)pet;dog.catchingFlyDisc();else if(pet instanceof Penguin)Penguin pgn=(Penguin)pet;pgn.swimming();public static void main(String args)Dolphin dolphin=new Dolphin();showPlay(dolphin);,子类Dolphin无法代换父类Pet,里氏代换原则,总结:里氏代换原则是对开闭原则的扩展开闭原则的实现离不开继承,而里氏代换原则对如何良好继承提出了衡量依据,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 教案课件

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2