私はJavaを使い慣れていませんが、OOPプログラミングに慣れています。私は以下のコードのように別の抽象クラスにネストされた抽象クラスを実装する強制することができますが方法である:Javaの抽象クラスでネストされた抽象クラスの実装を強制するには?
public abstract class A
{
public abstract class B extends C
{
@Override
public abstract void foo();
}
}
私はBがAの各サブクラスで実装するしたいと思いますが、それは可能ですか? When an Abstract Class Implements an Interfaceに示すように
は、あなたの助けのために
AのすべてのサブクラスにBを実装するネストされたクラスが含まれていることを強制したいですか?純粋なJavaの手段では不可能です。 –
あなたは、Aの各サブクラスをBのサブクラスにするか、またはBのサブクラスを含むことを希望していますか? –
ここで実際の解決策は、AをCに拡張することだと思います。Aのサブクラスが別のサブクラスを介してCを実装することを選択すると、それがサブクラスの選択になります。 –