如图 c#里 基类数组为什么能存放子类对象呢
在网上搜不到这个问题的回答
##################################################################################
没学过里氏替换原则?还是被忽略了?
里氏替换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。
里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。
LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,
基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
理所应当啊
哺乳动物[]={猫科,犬科} 符合逻辑
猫科[]={大黄狗} 不符合逻辑
设计语法的当然要在技术可以实现的前提下,不违反逻辑,并且尽量贴合人类逻辑。