【发布时间】:2020-07-27 13:24:48
【问题描述】:
interface A {
void someMethod();
}
class B implements A {
void someMethod() {
//do something
}
}
class C extends B implements A {
void someMethod() {
super.someMethod();
//do something
}
}
我在我的一个代码中使用了上述设计。它工作正常。 我在这里的全部目的是使用 B 类的默认实现并在 C 类中做一些额外的事情。这是使用该实现的正确方法吗?有没有更好的设计模式可供参考?
因为如果我将我的 C 类定义如下,仍然一切正常。但这忽略了使用实现的全部目的(强制类 C 实现接口 A 的方法)。
class C extends B implements A {}
【问题讨论】:
标签: java design-patterns polymorphism implementation extends