协变 & 逆变

都跟里氏替换原则有关。

协变:你可以用一个子类对象去替换相应的一个父类对象,这是完全符合里氏替换原则的,和协(谐)的变。如:用Swan替换Bird。

逆变:你可以用一个父类对象去替换相应的一个子类对象,这貌似不符合里氏替原则的,不和协(谐)的逆变。如:用Bird替换Swan。

原文地址:https://www.cnblogs.com/charlesblc/p/6481817.html