里氏替换原则
里氏替换原则的全称是:Liskov Substitution Principle (LSP)
- 第一种定义:如果对每一个类型为S的对象O1,都有类型为T的对象O2,使得以T定义的所有程序P在所有的对象O1都代换成O2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。
- 第二定义:所有引用基类的地方必须能透明地使用其子类的对象。所有引用基类的地方必须能透明地使用其子类的对象。
- 通俗解释:只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误一场。
示例
- 在介绍开闭原则时写的ImageLoader的示例中:
- MemoryCache、DiskCache、DoubleCache 都可以替换ImageCache,用户可以在使用时指定具体的缓存对象就可以动态替换ImageLoader中的缓存策略。这就使得ImageLoader的缓存系统可拓展性增强。
本文介绍了里氏替换原则(LSP)的两种定义,并通过一个示例解释了如何确保子类可以替换父类而不影响程序行为,从而提高系统的可扩展性。
1056

被折叠的 条评论
为什么被折叠?



