首页 > 技术文章 > 代码阅读

wyb123 2018-10-16 22:10 原文

ManagerTest代码

1、UML图

2、文件第26行e.getSalary(),到底是调用Manager类的还是Employee类的getSalary方法?

根据不同的类调用不同的getSalary方法,第一个staff[0]为Manager类的boss,调用的应该是Manager类的getSalary方法,同理,后两个staff为Employee类,调用的则是Employee类的getSalary方法。

3、Manager类的构造函数使用super调用父类的构造函数实现了代码复用,这样有什么好处?为什么不把父类构造函数中的相关代码复制粘贴到Manager的构造函数中,这样看起来不是更直观吗?

这样做可以简化代码量,是代码更加简洁明了,如果将相关代码复制粘贴就会显得很复杂多余。

4、该代码中哪里体现了多态的好处?请说明。

子类中代码的覆盖体现了多态。 多态的好处是减少了大量的代码,提高效率,易于修改,更加灵活。

推荐阅读