温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java里氏替换原则有哪些优缺点

发布时间:2021-12-14 14:55:36 来源:亿速云 阅读:365 作者:iii 栏目:大数据

这篇文章主要讲解了“java里氏替换原则有哪些优缺点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java里氏替换原则有哪些优缺点”吧!

里氏替换原则LSP),The Liskov Substitution Principle

定义

所有引用基类的地方必须能透明地引用其子类的对象,即子类可以拓展父类的功能,但不能修改父类已有的功能。

也就是说在父类出现的地方子类也可以出现,并且替换为子类也不会报错,引用者根本不需要知道引用的是父类还是子类,但是反过来就行不通了,子类出现的地方父类就不一定能出现并代替子类。

里氏替换原则的特点:

1、子类可以拓展父类的功能,但不能修改父类已有的功能,如果修改了父类已有的功能,可能导致父类定义的功能在子类覆盖后不适用。

2、重载父类的方法时,子类的方法形参应该比父类更宽松。

3、实现父类的抽象方法时,子类的方法输出结果应该比父类更加严格。

4、子类可以有自己独特的私有方法,但是需要注意的是,如果子类不能完全实现父类的方法,或者父类的某一些方法在子类中已经不适用,这种情况则建议断开父子关系,使用组合等方式代替继承出现。

里氏替换原则的优缺点:

1、合理得用类的继承关系,提高了代码的复用性,但也增强了类与类之间的耦合性。

2、通过建立抽象,运行过程中具体实现取代抽象,保证了系统的可拓展性。

3、只要继承父类就拥有父类的全部属性和方法,这样减少了代码重复创建量共享了代码但也约束了子类的行为,降低了系统灵活性。

我们平时开发中可能没考虑这么多,乱覆盖父类的方法,没有多少联系的继承等很多打破了里氏替换的原则,这样不顾后果的后果就是我们写的程序存在着潜在的漏洞,而且出问题的机率也会显著提升。

感谢各位的阅读,以上就是“java里氏替换原则有哪些优缺点”的内容了,经过本文的学习后,相信大家对java里氏替换原则有哪些优缺点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI