在面向对象编程中有个重要的原则,里氏代换原则:一个软件实体如果使用的是一个父类的话,那么一定适用其子类,而且它察觉不出父类对象与子类对象的区别.也就是说,在软件设计里面,把父类替换成它的子类,程序的行为没有变化.简单的说,子类类型必须能替换掉它的父类类型. 就好像继承的概念,子类继承自父类,那么子类可以以父类的身份出现.有这样一个问题,在面向对象设计中,一个是鸟类,一个是企鹅类,如果鸟是可以飞得,企鹅不会飞,那么企鹅是鸟么?企鹅可以继承自鸟类么? 需要面向对象设计,那么意味着,子类拥有父类所以非…