サブクラスも含む特定のタイプのオブジェクトの配列を定義する方法を理解しようとしています。これは私が持っているものです:
Property[] list = new Property[100];
これで 100 個のプロパティの配列が定義されると思いますが、この配列に SubProperty も含めることは可能ですか。SupProperty は Property クラスの拡張です。
どうもありがとう。
はい、配列に も含めることができSubProperty
ます。以下のコードを見つけてください -
class SubProperty extends Properties{
}
と
Properties[] obj = new Properties[100];
obj[1] = new SubProperty();
次のように、オブジェクトを取り戻すことができます-
for(Properties prop: obj){
if(prop instanceof SubProperty){
SubProperty subProp = (SubProperty)prop;
System.out.println(subProp);
}
}
スーパークラスを使用できる場所であればどこでもサブクラスを使用できます。これが OOP 置換の原則です。この場合にも当てはまります。