继承、里氏替换原则、什么叫多态、向上转型

2441 2019-02-26 16:25

就是当你站在了正确的车间、招呼了正确的工人,你只要喊一句,给这辆宝马上轮胎。然后一个符合该车型的轮胎就由工人正确安装了。你不用管它的大小。品牌就自动对应上了。

你只要喊父类的名字,就能得到正确的子类工作。

 

里氏替换法则:

第二个定义,functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.
所有引用基类的地方必须能透明地使用其子类的对象。

 

通俗点讲只要父类能出现的地方我子类就可以出现,而且调用子类还不产生任何的错误或异常,调用者可能根本就不需要知道是父类还是子类。但是反过来就不成了,有子类出现的地方,父类未必就能适应
 

——摘自《设计模式之禅第一版2009.5》中第26.2节

 

里氏替换原则:基类出现的地方,派生类(子类)就可以出现,反过来不行。
用到一阳指的地方,就可以用六脉神剑,而用了六脉神剑的地方,一阳指可能就不灵了。因为六脉神剑是以一阳指为根基的。

你拍个电影,需要一声动物叫,猫也能叫、狗也能叫。那么你需要一声狗叫的时候,猫就不行。所以多态的时候尽量使用上层类。下面就好灵活添加。

全部评论

·