本文依赖《Android源码设计模式解析与实战》, 读书笔记编号与原书同步
1.3里氏替换原则(LSP)
定义:所有引用父类的地方,必须能透明的使用子类的对象。
那么里氏替换原则的核心原理是抽象。依赖于面向对象语言的继承与多态
这里列举一下继承的优缺点:
优点:
(1)代码重用,减少创建类的成本,每个子类都拥有父类的方法与属性。
(2)子类与父类基本相似,但与父类又有所区别。
(3)提高代码的可扩展性。
缺点:
(1)继承是侵入性的,只要继承就必须拥有父类所有的属性与方法。
(2)可能造成子类代码冗余、灵活性降低。
开闭原则和里氏替换原则是生死相依的、不离不弃的。他们都强调了抽象这一重要的特性。
理解: android中不要忘记引用 super. 就是为了这个原则,抽象类中的child也是