我不知道多用组合少用继承是怎么搞出来的。一定要说的话,正确的说法应该是不要用继承来解决代码复用的问题,继承就是继承的语义,要解决代码复用问题应该优先考虑组合。
但这也不是铁板一块,并不是说用继承来实现代码复用就有多么不可取,只是说把继承和复用分开来,代码复用不是非用继承不可,不要滥用继承。
所以总的来说,和接口没啥关系。
扣字面意思的话,接口是实现而不是继承。
我认为接口中没有可复用的代码,因此不算组合。
实际上,在继承与组合的讨论种,是不存在接口的。
举个例子,我们有一个Color类,现在需要实现一个Button类
//继承 class Button extends Color { ... } //组合 class Button { //如果Color是接口,就不能new了 Color color = new Color(); ... }
可以看到,继承和组合都是为了复用Color的代码,而接口是没有方法实现的,也就没有需要复用的代码。
因此问题不成立。
女王:求求题主放过我,我可不敢有什么政绩。。。