设计原则-里氏代换原则

里氏代换原则: 所有引用基类(父类)的地方, 必须能透明地使用其子类的对象.

里氏代换原则告诉我们, 在软件系统中, 将一个基类对象替换成它的子类对象, 程序将不会产生任何错误和异常, 反过来则不成立, 如果一个软件实体使用的是一个子类对象的话, 那么它一定能够使用基类对象.

使用里氏代换原则需要注意的问题:

  1. 子类的所有方法必须在父类中声明, 或子类必须实现父类中声明的所有方法. 根据里氏代换原则, 为了保证系统的扩展性, 在程序中通常使用父类来定义, 如果一个方法只存在于子类中, 在父类中不提供相应的声明, 则无法在以父类定义的对象中使用该方法.
  2. 我们在运用里氏代换原则时, 尽量把父类设计成抽象类或者接口, 让子类继承父类或者实现接口, ,并实现在父类中声明的方法, 运行时, 子类实例替换父类实例, 我们可以很方便的扩展系统功能, 同时无需修改原有子类的代码, 增加新的功能可以通过增加一个新的子类来实现. 里氏代换原则是开闭原则的具体实现手段之一.

里氏代换原则是开闭原则的具体实现手段之一.

废话那么多, 说白了里氏代换原则就是多肽嘛, 搞懂了多肽的性质就搞懂了里氏代换原则. 我觉得开发中的多肽就是里氏代换原则的例子, 一模一样, 完全符合.

原文在这里, 这里写的更加详细.

Reference: http://blog.csdn.net/lovelion/article/details/7540445

转载于:https://my.oschina.net/whforever/blog/785699

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值