一个栗子
图片:
Animal 是基类,其中包含Eat、ShowType 两个方法。ShowType是虚方法,其具体实现在Chicken,Eagle中看出。这种在子类中实现虚方法的方式,称为方法的动态绑定。另外,Eagle类实现了接口继承,是Eagle具有了Fly的特性。显而易见,通过IFlyable接口,实现了对象与行为的分离,这样无需担心因为继承不当,Chicken具有了Fly特性,保护了系统的完整性。
#继承的本质
1、继承是可传递的,子类是对父类的扩展,必须继承父类的方法,同时可以添加新方法。
2、继承是单向的,子类可以调用父类的方法和字段,父类不能调用子类的方法和字段。
3、子类可以通过虚方法,覆写父类的方法,使得父类的指针可以指向子类的对象成员。
4、New关键字在虚方法的继承中有阻断作用。