AccountController不能同时扩展BaseAccount和BaseController。如果我将所有BaseAccount或BaseController方法都设为空,则可以有一个接口,但是如果我在两个不同的地方实现该接口,也就是说,我在两个不同的地方签订了实现一个方法的合同,则将有重复的代码。接口是否通过代码重复解决DDD?
interface A {
function doStuff() {
}
}
class B implements A {
function doStuff() {
// a code
}
}
class C implements A {
function doStuff() {
// the same code!!!
}
}
最佳答案
一点点都与您的上一次困惑相混淆,但是如果您想要多重继承,则需要这样做:
AccountController扩展了BaseAccount,而BaseAccount扩展了BaseController
BaseController
|
BaseAccount
|
AccountController
使用此方法将使您能够使用$ this从AccountController访问BaseAccount和BaseController的所有成员函数。
关于java - 接口(interface)是否通过代码重复解决DDD?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1679858/