Java -Polymorphismus
Java-Polymorphismus
Polymorphismus bedeutet "viele Formen" und tritt auf, wenn wir viele Klassen haben, die durch Vererbung miteinander verwandt sind.
Wie wir im vorherigen Kapitel angegeben haben; Durch Vererbung können wir Attribute und Methoden von einer anderen Klasse erben. Der Polymorphismus verwendet diese Methoden, um verschiedene Aufgaben auszuführen. Dadurch können wir eine einzelne Aktion auf unterschiedliche Weise ausführen.
Stellen Sie sich zum Beispiel eine Oberklasse namens Animal
vor, die eine Methode namens hat animalSound()
. Unterklassen von Tieren könnten Schweine, Katzen, Hunde, Vögel sein - und sie haben auch ihre eigene Implementierung eines Tierlauts (das Schwein oinkt und die Katze miaut usw.):
Beispiel
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");
}
}
Erinnern Sie sich aus dem Kapitel Vererbung daran , dass wir das extends
Schlüsselwort verwenden, um von einer Klasse zu erben.
Jetzt können wir Pig
und
Dog
Objekte erstellen und die animalSound()
Methode für beide aufrufen:
Beispiel
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();
}
}
Warum und wann werden „Vererbung“ und „Polymorphismus“ verwendet?
- Es ist nützlich für die Wiederverwendbarkeit von Code: Verwenden Sie Attribute und Methoden einer vorhandenen Klasse wieder, wenn Sie eine neue Klasse erstellen.