继承与聚合

继承与聚合

关于如何在面向对象的系统中最好地扩展、增强和重用代码,有两个学派:

  1. 继承:通过创建子类来扩展类的功能。重写子类中的超类成员以提供新功能。使方法抽象/虚拟,以便在超类需要特定接口但对其实现不可知时,强制子类“填充空白”。

  2. 聚合:通过接受其他类并将它们组合成一个新类来创建新功能。将公共接口附加到此新类,以便与其他代码进行互操作性。

每种方法的好处、成本和后果是什么?还有其他选择吗?

我看到这场辩论是定期出现的,但我认为还没有人问到堆栈溢出问题(尽管有一些相关的讨论)。谷歌也令人惊讶地缺乏良好的搜索结果。


BIG阳
浏览 1003回答 3
3回答

慕运维8079593

在.开始时戈夫他们说喜欢对象组合而不是类继承。这一点将进一步讨论。这里
打开App,查看更多内容
随时随地看视频慕课网APP