dpe*_*sek 6 java abstract-class interface
我有几个类实现接口MyInterface,我希望它们都扩展抽象类MyAbstractClass.最好的方法是什么?
有没有比创建扩展MyAbstractClass和实现MyInterface的另一个抽象类更好的方法?
(我发誓在发布之前我没有发现任何这样的问题)
最干净的解决方案是在接口的JavaDoc中定义这样的要求.在JavaDoc中,它应该声明类似"使用此接口,您需要从MyAbstractClass扩展或提供您自己的实现".这样程序员就负责实现.请记住,这是一个社会学问题,你试图解决技术问题.
另一个"解决方案"是删除接口并使用抽象类.在抽象类中实现接口在这里没有意义.
您可以定义MyAbstractClass为 implementation MyInterface,然后使所有其他类扩展MyAbstractClass:
public abstract class MyAbstractClass implements MyInterface {
...
}
public class OneOfSeveral extends MyAbstractClass {
...
}
Run Code Online (Sandbox Code Playgroud)