1

Effective Java 2nd edition 的第 16 条,赞成组合胜过继承说以下

“如果超类在后续版本中获得了一个新方法,而你不幸给子类一个具有相同签名和不同返回类型的方法,那么你的子类将不再编译。

如果您为子类提供了与新超类方法具有相同签名和返回类型的方法,那么您现在正在覆盖它”

这些案例在现实世界中出现的可能性有多大?这里的任何人都可以给我一个真实商业应用程序的例子(如果需要,删除专有信息)?

4

1 回答 1

3

这不是关于这种情况的可能性有多大。(此外,我敢肯定你听说过墨菲定律

这是关于这样一个事实,即组合与其说是一种具有约束力的契约,不如说是一种继承。

继承是绑定类之间行为的一种非常强大的方法,基本上第 16 条规定,只有在明确有必要时才应该使用这种强连接。对于所有其他用途,应首选组合物。

于 2010-09-27T06:12:54.477 回答