设计原则----里氏替换原则

设计原则----里氏替换原则(LSP)

里氏代换原则:在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单地说,子类型必须能够替换掉他们的父类型。这好像是学继承时就要理解的概念,子类继承了父类,所以子类可以以父类的身份出现。

 


只有当子类可以替换掉父类,软件单位的功能不受到影响时, 父类才能真正被利用,而子类也能够在父类的基础上增加新的行为。比如说,猫是继承动物类的,以动物的身份拥有吃、喝、跑、叫等行为,可当某一个天,我们需要狗、牛、羊也拥有类似的行为,由于他们都是继承于动物,所以除了更改实力话的地方,程序的其他出不需要改变。

设计原则-里氏代换原则
动物 animal = new 猫();
需求的变化,使得需要将“猫”更换成“狗”、“牛”等其他动物,程序其他地方不需要改变
animal.吃();
animal.喝();
animal.跑();
animal.叫();

正是由于子类型的可替换性才是的使用父类类型的模块在无需修改的情况下可以扩展。不然还谈什么扩展开放,修改关闭呢。再看以来倒转原则,高层模块不应该依赖底层模块,两个都应该依赖抽象,对这句话你就会有更深入的理解了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值