我有以下情况:
我需要我的类,比如说A
来扩展JComponent
,而另一个类,比如B
。
现在,我知道多重继承在java中是不可能的,实现这一点的正确方法是实现BInterface
,这将使我能够访问B
中的所有方法。
问题是类B
包含大约15个方法,在A
中,我只需要重写其中的2个方法,以及所有其他方法就可以使用"super"实现。
问题是:有没有一种可能的方法可以做到这一点,而不必在A
内部实现B
中的所有方法?
注意:我并没有试图给我的代码增加太多的复杂性,如果这个问题的"解决方法"违反了oop编程原则,那么我应该更好地重新设计我的代码。
正如您所说,java中不支持多重继承。但一般来说,使用组合而不是继承是一种很好的做法。在这里阅读
您可以使用java8功能的默认实现
-
创建一个名为ABinterface的接口。提供所有13种方法作为默认手段具有定义和声明2个方法(如抽象方法(。
-
类A和B将实现ABinterface,并根据他们的需要。
-
将扩展jsComponent并实现ABInterface的类A可以访问所有其他现有的13种方法也是如此。
您在此查询中没有提供足够的信息。所以你需要根据在实现这一点之前,请先使用oops概念了解真实的单词场景。
您也可以使用组合而不是继承