Java で指向オブジェクトの概念を理解するために、単純な Zoo アプリケーションを作成しています。
私のモデルは次のとおりです: 1) 動物園には多数のケージがあります 2) ケージにはネコ、霊長類、または鳥が混在しています 3) 動物は食べたり、寝たり、飲んだりできます 4) ネコは動物を拡張します (余分なネコのことをします) 5 ) 霊長類は動物を拡張します (霊長類の追加機能を実行します) 6) 鳥は動物を拡張します (追加の鳥機能を実行します)
問題:
動物園で x 個のケージ (Cage の ArrayList) を処理するのは非常に簡単ですが、私は Cage 内の動物に苦労しています。Object の ArrayList が必要であることがわかりました。
これまでのところは順調ですが、動物を取り戻してポストを引っ掻いてもらうと、それはもう猫ではなく、オブジェクトです。
public class Cage{
private String name;
private ArrayList<Object> animals = new ArrayList<Object>();
public Cage(String name){
this.name = name;
}
public void addFeline(String name){
Feline newFeline= new Feline(name);
this.animals.add(newFeline);
}
public void addPrimate(String name){
Primate newPrimate= new Primate(name);
this.animals.add(newPrimate);
}
public void addBird(String name){
Bird newBird= new Bird(name);
this.animals.add(newBird);
}
public void removeAnimal(int index){
this.animals.remove(index);
}
public Object getAnimal(int index){
Object myAnimal = this.animals.get(index);
return myAnimal;
}
}
そして、私がそれを呼ぶ方法:
Zoo myZoo = new Zoo("My Zoo");
myZoo.addCage("Monkey Exhibit");
Cage myCage = myZoo.getCage(0);
myCage.addFeline("Leo");
Object MyAnimal = myCage.getAnimal(0);
質問: オブジェクトをクラス Feline のインスタンスに戻して、Post をスクラッチできるようにするにはどうすればよいですか?