スーパークラスAがあり、多くのサブクラスB、C、Dがあります。人々はより多くのサブクラスを書くことができます。それぞれのクラスはdostuff()メソッドを持っていますが、それぞれ異なる方法があります。オブジェクトはJavaでオブジェクトのクラスを構成します
私は、Aに属するオブジェクトまたはそのサブクラスのいずれかを構築するオブジェクトが必要です。
たとえば、サブクラスの名前またはそのクラスのオブジェクトを渡すことができ、クラスの別のオブジェクトを作成します。もちろん
私は
A construct(A var){
stuff = var.dostuff();
domorestuff(stuff)
return new A(stuff);
}
B construct(B var){
stuff = var.dostuff();
domorestuff(stuff)
return new B(stuff);
}
C construct(C var){
stuff = var.dostuff();
domorestuff(stuff)
return new C(stuff);
}
を書くことができますが、これは効率的ではありません。私は新しいサブクラスを作るたびに、いくつかの新しい行を書く必要があります。
私はジェネリックスを使うことはできないようです。 Aのサブクラスに含まれていないオブジェクトにはdostuff()を使用できないためです。
この場合、どうすればよいですか?
これは素晴らしいです。 tのコンストラクタを使用したい場合はどうすればよいですか? –
デフォルトコンストラクタを使用します。別のコンストラクタを使用する場合は、getConstructor()を使用する必要があります。 –