h5自响应式网站模版,门户网站建设的报价,ppt背景模板免费下载,北京网页制作费用大概多少转载自 面象对象设计6大原则之三#xff1a;里氏替换原则里氏替换原则#xff08;LSP#xff09;#xff0c;The Liskov Substitution Principle定义所有引用基类的地方必须能透明地引用其子类的对象#xff0c;即子类可以拓展父类的功能#xff0c;但不能修改父类已有的…转载自 面象对象设计6大原则之三里氏替换原则里氏替换原则LSPThe Liskov Substitution Principle定义所有引用基类的地方必须能透明地引用其子类的对象即子类可以拓展父类的功能但不能修改父类已有的功能。也就是说在父类出现的地方子类也可以出现并且替换为子类也不会报错引用者根本不需要知道引用的是父类还是子类但是反过来就行不通了子类出现的地方父类就不一定能出现并代替子类。里氏替换原则的特点
1、子类可以拓展父类的功能但不能修改父类已有的功能如果修改了父类已有的功能可能导致父类定义的功能在子类覆盖后不适用。
2、重载父类的方法时子类的方法形参应该比父类更宽松。
3、实现父类的抽象方法时子类的方法输出结果应该比父类更加严格。
4、子类可以有自己独特的私有方法但是需要注意的是如果子类不能完全实现父类的方法或者父类的某一些方法在子类中已经不适用这种情况则建议断开父子关系使用组合等方式代替继承出现。里氏替换原则的优缺点
1、合理得用类的继承关系提高了代码的复用性但也增强了类与类之间的耦合性。
2、通过建立抽象运行过程中具体实现取代抽象保证了系统的可拓展性。
3、只要继承父类就拥有父类的全部属性和方法这样减少了代码重复创建量共享了代码但也约束了子类的行为降低了系统灵活性。我们平时开发中可能没考虑这么多乱覆盖父类的方法没有多少联系的继承等很多打破了里氏替换的原则这样不顾后果的后果就是我们写的程序存在着潜在的漏洞而且出问题的机率也会显著提升。