oop设计原则-里氏替换原则
来源:互联网 发布:dos命令查看mac地址 编辑:程序博客网 时间:2024/05/16 15:58
李氏替换原则是以提出者命名的,是指对父类对象的引用在替换成子类的时候也可以保证编译和逻辑不出现异常。
在日常开发中,我们经常会对父类的方法进行重写,从而可能导致没有遵循李氏替换原则,这样有一个坏处,在他人调用此被重写的方法时,子类被当做父类使用,而编译不会报错,但是得不到应有的返回值,使代码出问题的几率大大增加。
但子类就是为了对父类进行更精确的描述和拓展而存在,所以在李氏替换原则下,子类在对父类进行修改的同时要尽可能不重写父类,即使进行重写,需要保证入参和返回值的精确性。没有对父类方法进行重写的时候很好理解。那么举一个重写父类方法的例子
例如
父类:哺乳动物类,
{
getLegs(){
return 四条腿;
}
}
子类:马
{
getLegs(){
return 四条马腿;
}
子类:牛
{
getLegs(){
return 四条牛腿;
}
子类:人
{
getLegs(){
return 四肢;
}
这样既对子类进行了更精确的描述,也保证了李氏替换原则的成立。或者在重写父类方法时,先调用一下父类的方法。
所以很多人对多态和李氏替换原则是否相悖持疑问的时候就得到了很好的解答。
在学习的同时写下了这篇博客,理解可能不够透彻甚至有错误,希望得到大家的指正,包括技术方面和写作方面,感谢!
- oop设计原则-里氏替换原则
- 设计原则-里氏替换原则
- 设计原则-里氏替换原则
- 【设计模式】里氏替换原则
- 设计模式---->里氏替换原则
- 设计模式:里氏替换原则
- 设计模式--里氏替换原则
- 里氏替换的设计原则
- 设计原则利剑二--里氏替换原则
- 设计模式六大原则:里氏替换原则
- 设计模式六大原则:里氏替换原则
- [设计原则3] LSP 里氏替换原则
- 设计模式六大原则----------里氏替换原则
- 设计模式六大原则 里氏替换原则
- 六大设计原则之“里氏替换原则”
- 六大设计原则之里氏替换原则
- 六大设计原则之里氏替换原则
- 六大设计原则,里氏替换原则
- idea中mybatis-generator maven 配置
- 在线程里面控制事务的提交和回滚
- 过滤器中注入spring管理的对象
- 关于wechat-php-sdk token验证失败的解决
- 指针【C语言程序设计】
- oop设计原则-里氏替换原则
- Hadoop集群集成kerberos
- 欢迎使用CSDN-markdown编辑器
- 汇编(GoAsm)写的一个润年判断小程序
- shell 编辑文件——添加
- SpringMVC框架(二)
- Invalid bound statement (not found)
- 用vue.js学习es6(二):let和const使用
- make VERBOSE=1