Java 我想这里需要一个适配器模式,但我似乎在重复方法实现的细节
您可以在下面看到,我有两个具体的类,它们可以共享通过抽象类提供的几乎所有实现细节。他们每个人只需要自己实现2-3种方法。然而,ImplOne也从InterfaceTwo实现,它还有1-2个方法要实现。我不想在ImplOne中提供与在AbstractImpl中完全相同的实现细节,但我现在在这里所做的似乎并不正确。在适配器模式中,从我看到的示例来看,对于正在调整的接口,实现细节似乎是重复的Java 我想这里需要一个适配器模式,但我似乎在重复方法实现的细节,java,design-patterns,adapter,Java,Design Patterns,Adapter,您可以在下面看到,我有两个具体的类,它们可以共享通过抽象类提供的几乎所有实现细节。他们每个人只需要自己实现2-3种方法。然而,ImplOne也从InterfaceTwo实现,它还有1-2个方法要实现。我不想在ImplOne中提供与在AbstractImpl中完全相同的实现细节,但我现在在这里所做的似乎并不正确。在适配器模式中,从我看到的示例来看,对于正在调整的接口,实现细节似乎是重复的 InterfaceOne / \ InterfaceTwo Abs
InterfaceOne
/ \
InterfaceTwo AbstractImpl
\ / \
ImplOne ImplTwo
这种情况没有问题。ImplOne必须实现interfaceOne或interfaceTwo中声明的所有方法,除非已经由abstractImpl实现。implOne还必须从abstractImpl实现抽象方法。作为练习,我建议创建一个没有方法的ImplOne,并让编译器告诉您需要实现哪些方法。复制在哪里?我不明白为什么要复制实现。扩展一个实现InterfaceOne的抽象类,然后实现同样扩展InterfaceOne的InterfaceTwo,不是有什么不对吗?我不知道,但这似乎有点不对劲。这绝对没什么错。这只是类型信息。这些方法不必因此而重新实现。