Java Polymorphism(ポリモーフィズム)
Java ポリモーフィズム
ポリモーフィズムは「多くの形式」を意味し、継承によって相互に関連するクラスが多数ある場合に発生します。
前の章で指定したとおりです。継承を使用すると、別のクラスから属性とメソッドを継承できます。ポリモーフィズムは、これらのメソッドを使用してさまざまなタスクを実行します。これにより、1 つのアクションをさまざまな方法で実行できるようになります。
たとえば、animalSound()
というメソッドを持つAnimal
というスーパークラスについて考えてみましょう。動物のサブクラスには、豚、猫、犬、鳥などがあります。また、動物の鳴き声 (豚の鳴き声や猫の鳴き声など) の独自の実装もあります。
例
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
継承の章で、クラスから継承するためにextends
を使用することを思い出してください。
これで、Pig
オブジェクトとDog
オブジェクトを作成し、両方のオブジェクトでanimalSound()
メソッドを呼び出すことができます。
例
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal(); // Create a Animal object
Animal myPig = new Pig(); // Create a Pig object
Animal myDog = new Dog(); // Create a Dog object
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
}
}
なぜ、そしていつ「継承」と「ポリモーフィズム」を使うのか?
これはコードの再利用性を高めるのに有効で、新しいクラスを作るときに既存のクラスの属性やメソッドを再利用する。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。