【发布时间】:2017-02-13 07:46:04
【问题描述】:
我有以下三个类:
public class MyClassA extends FooA<Bar>
public class MyClassB extends FooB<Bar>
public class MyClassC extends FooC<Bar>
FooA、FooB 和 FooC 类都扩展了 Foobar<V> (-> public class Foobar<V extends FooY> implements IFoobar<V>),但继承级别不同。此外,值得一提的是,FooA、FooB 和 FooC 是 API 的一部分,我无法对其进行修改。在我的类MyClassA、MyClassB 和MyClassC 中,我以完全相同的方式使用一些属性和方法,因此我想创建一个实现相同行为的父类。但是,我不确定如何通过泛型实现这种继承方案。
我想过这样的事情:
public class MyParentClass<V extends Foobar> extends V
然后我只需执行以下操作:
public class MyClassA extends MyParentClass<FooA<Bar>>
public class MyClassB extends MyParentClass<FooB<Bar>>
public class MyClassC extends MyParentClass<FooC<Bar>>
我怎样才能做到这一点?
【问题讨论】:
-
听起来你在寻找多重继承,Java 并不真正支持。
-
这些对象会被用作
FooA、FooB和FooC实例吗?还是你最后一直用Ifoobar? -
它们最终将被用作
IFoobar。请注意,IFoobar也是 API 的一部分。
标签: java inheritance design-patterns