加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

里氏代换原则

发布时间:2020-12-13 21:58:43 所属栏目:百科 来源:网络整理
导读:里氏代换原则 里氏代换原则:子类型必须能够替换掉它们的父类型。 就是说一个软件实体,如果使用的是一个父类的话,那么一定适用于其子类,而且,它觉察不出父类对象和子类对象的区别,也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。

里氏代换原则


里氏代换原则:子类型必须能够替换掉它们的父类型。

就是说一个软件实体,如果使用的是一个父类的话,那么一定适用于其子类,而且,它觉察不出父类对象和子类对象的区别,也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。

只有当子类可以替换掉父类,软件单位的功能不收到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。

正是由于子类型的可替换性,才使得使用父类类型的模块,在无需修改的情况下就可以扩展。


优点:

1、代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性。

2、提高代码的重用性。

3、子类可以形成父类,但有异于父类。

4、提高代码的可扩展性,实现父类的方法,很多开源框架的扩展接口都是通过继承父类来完成的。

5、提高产品或项目的开放性。


当然,有优点就会有缺点,继承的缺点如下:

1、继承是侵入性的,只要继承,就必须拥有父类所有的属性和方法。

2、降低代码的灵活性,子类必须拥有父类的属性和方法,让子类自由的世界中多了些约束。

3、增强了耦合性,当父类的常量、变量和方法被修改时,必须要考虑子类的修改,而且在缺乏规范的环境下,这种修改可能带来非常糟糕的结果——大片的代码需要重构。


里氏代换原则为良好的继承定义了一个规范:

1、子类必须完全实现父类的方法。

2、子类可以有自己的个性。

3、覆盖或实现父类的方法时,输入参数就可以被放大。

4、覆盖或实现父类的方法时,输出结果可以被缩小。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读