继承

继承是站在子类的角度,多态是站在父类的角度。

继承时,子类为观察者,发起者。不论是成员变量还是成员方法,都是遵照就近原则。

子类变量会被优先调用。

而子类方法会覆盖父类方法。

所以,同名情况下,子类都先使用自己的。

多态

多态中,父类为观察者,发起者。

父类自己的变量会优先调用,而且不存在调用子类变量的情况。因为,调用子类变量说明变量名不同,说明是子类后加上去的。父类中是没有get该变量的方法的!

父类方法会被子类方法覆盖。

所以同名曲情况下,父类使用自己的变量,使用子类的方法。


实际开发中,使用继承一般更多的是为了复用性,为了重写父类方法。很少涉及变量(子类自己的)。
使用多态一般更多的是为了可维护性,为了同一个引用调用不同子类的特有同名方法。很少涉及变量(父类自己的)。

最后修改:2022 年 11 月 10 日
如果觉得我的文章对你有用,请随意赞赏