Java - クラスのすべてのサブクラスを単一のクラスで拡張することは可能ですか?Java - クラスのすべてのサブクラスを単一のクラスで拡張することは可能ですか?
例をあげて説明しますが、実際のコードはかなり複雑です。私は独自のクラス階層を持つAnimalクラスを持っています。 TestarrosaとViperの2つのサブクラスがあるとしましょう。
public class Car {
public abstract String getManufacturer();
}
public class Testarossa extends Car{
public String getManufacturer(){
return "Ferrari";
}
}
public class Viper extends Car{
public String getManufacturer(){
return "Dodge";
}
}
すべてのCarサブクラスをRegisteredCarサブクラスで拡張したいと考えています。
public class RegisteredCar extends Car {
private String plateNumber;
public RegisteredCar (String plateNumber){
this.plateNumber=plateNumber;
}
public String getPlateNumber() {
return plateNumber;
}
}
ある時点で、特定のサブクラスの新しいRegisteredCarを作成できるはずです。
RegisteredCar c = new RegisteredCar<Viper>("B-3956-AC");
のようなものとB-3956-ACを得るために、 "ダッジ" とc.getPlateNumberを()得ることがc.getManufacturer()を呼び出します。明らかに、私はまだ作成する必要がありますCar c = new Viper();
これは例です。登録されていない場合、null値を持つCarの属性を持つことは、私が必要とするものでは不十分です。
*「のは、それは2つのサブクラスがあるとしましょう:ゴリラとオオカミの」* ..私はあなたがあなたの 'Car'例に固執する必要がありますね;)。 – Tom
ですが、できません。 –
ViperとTestarossaの基本クラスをRegisteredCarに変更することはできませんか? – sfThomas