Javaを使用して次のクラス設計を定義するにはどうすればよいですか?Genericsを使用してJavaクラスでクラス参照を定義する方法は?
class Test
{
private ClassA classA;
**Placeholder for class reference**
}
上記のプレースホルダでは、ClassBまたはClassCのインスタンスを渡します。どのように変数を宣言するのですか?
class ClassB
{
List<ClassD> classDList;
}
class ClassC
{
List<ClassE> classEList;
}
class ClassD
{
String string;
List<ClassE> classEList;
}
class ClassE
{
String string;
List<ValueObject> valueObjectList;
}
上記のデザインに他にも優れたソリューションがある場合は、私に提案してください。
ClassBとClassDBをClassBに拡張しますか? – muzzlator
なぜこれを行う必要がありますか? 'ClassCB'と' ClassDB'に共通するものがない場合、どうしてそれらを交換可能に使いたいのですか? – 4castle
Javaに分離型の共用体型はありません。したがって、ClassBとClassCが共通のスーパータイプ(インタフェース?)を持っていない限り、そのことはできません。しかし、多くの図書館では ''型があるので、それを使うことができます: ' –
kaqqao