Javaでポリモーフィックなクラスの配列を作成したいと思います。それは動物の配列であり、私は配列に異なる種類の動物を追加したい。動物はスーパークラスであり、異なる種類の動物はサブクラスであり、属性に基づいて特定の動物を配列に追加するメソッドを実装する必要がありますが、すべての種類の動物が異なる属性を持つため、それを行う。 私はこれまでのところ、この基本的な方法を持っており、それがコンパイルされます。Javaのメソッドに条件を交互に入れることはできますか?
public void addAnimal(String name, double weight) {
if ((numberanimals < animals.length) && (numberanimals == 0)) {
animals[0] = new Animal(name, weight);
numberanimals += 1;
} else if (numberanimals < animals.length) {
animals[numberanimals] = new Animal(name, weight);
numberanimals += 1;
} else {
System.out.println("Zoo is full.");
}
}
すべての動物は、名前と重みを持っていますが、どのように、私は彼の綱の長さや言うブール値を持つサメに基づいて、インスタンスのための犬を追加します彼が空腹であろうとなかろうと。そのような方法でそれを行うことさえ可能ですか?
通常は、最初の動物を作成し、 'addAnimal(動物のa)は'( '' addAnimal(新キリン( "ショーティ"))など)に渡します。 – molbdnilo
メソッドを 'public void addAnimal(Animal animal)'に変更すると、どんなタイプの動物(Animalから継承するクラス)も受け取ることができます。次にメソッドを呼び出す前に動物を作成します。 –
スーパークラスへの抽象述語メソッドを使用して、それをサブクラス内のさまざまな選択条件でオーバーライドできます。 –