继承
继承是站在子类的角度,多态是站在父类的角度。
继承时,子类为观察者,发起者。不论是成员变量还是成员方法,都是遵照就近原则。
子类变量会被优先调用。
而子类方法会覆盖父类方法。
所以,同名情况下,子类都先使用自己的。
多态
多态中,父类为观察者,发起者。
父类自己的变量会优先调用,而且不存在调用子类变量的情况。因为,调用子类变量说明变量名不同,说明是子类后加上去的。父类中是没有get该变量的方法的!
父类方法会被子类方法覆盖。
所以同名曲情况下,父类使用自己的变量,使用子类的方法。
实际开发中,使用继承一般更多的是为了复用性,为了重写父类方法。很少涉及变量(子类自己的)。
使用多态一般更多的是为了可维护性,为了同一个引用调用不同子类的特有同名方法。很少涉及变量(父类自己的)。