继承的替代方案有哪些?
最佳答案
Effective Java:优先考虑组合而不是继承。 (这实际上也来自《四人帮》)。
他提出的情况是,如果扩展类没有明确设计为继承,继承可能会导致许多不恰当的副作用。例如,对 super.someMethod()
的任何调用都可能导致您进入未知代码的意外路径。
相反,保留对您原本要扩展的类的引用,并委托(delegate)给它。
这里是 interview 的链接与 Erich Gamma 讨论了这个概念。
关于java:继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2135669/