我已经为我正在使用的Java应用程序提供了一个插件架构。
所有的例子都表明:
public class SpecialName implements BaseExtenderClass, ClassB, ClassC {
//Stuff
}在"SpecialName“是一个名称,您必须命名您的类,以使它被识别为一个插件,而BaseExtenderClass,ClassB,ClassC都是不同的API功能,在这个类中被扩展来执行特定的操作。每个人都有自己的方法,必须加以实现。
我想知道的是,在Java中是否有一种方法,我可以将ClassB和ClassC放在与BaseExtenderClass和SpecialName分开的文件中,并且仍然让它表现得像上面列出的原始代码一样。
代码将更加整洁和更有组织,我可以这样做,因为我正在编写的插件实际上将扩展一个良好的6-8个可用的api接口。
如果没有,我可以有一个庞大的文件..。只是感觉不像是做事情的正确方式。
发布于 2016-11-13 02:38:28
您是否试图拆分接口定义或它们的实现代码?
我假设您是说您不想将所有3个接口的实现代码放在同一个类中,而是需要分离成2个或更多的文件(类),因为您对潜在的大小进行了注释。
如果是这样的话(我假设您有很好的理由这么做),那么您应该能够创建一个实现ClassB和ClassC的中间类,然后继承该类。
就像这样..。
public class TmpClass implements ClassB, ClassC {
//put implementation for these 2 interfaces here
}
public class SpecialName extends TmpClass implements BaseExtenderClass {
//add implementation for BaseExtenderClass interface here
}发布于 2016-11-13 02:48:19
你的例子有点混乱。我觉得应该是:
public class SpecialName extends BaseExtenderClass
implements InterfaceB, InterfaceC {重点是:
extend (最多!)另一个班。implement多个接口。implement类。那么,如何处理具有复杂接口层次结构的情况,并避免重复接口方法的实现代码?
你能做的最好的事情是结合以下几点:
https://stackoverflow.com/questions/40569876
复制相似问题