C++ Polymorphismus
Polymorphismus
Polymorphismus bedeutet „viele Formen“ und tritt auf, wenn wir viele Klassen haben, die durch Vererbung miteinander verbunden sind.
Wie wir im vorherigen Kapitel angegeben haben, können wir mit Vererbung Attribute und Methoden von einer anderen Klasse erben.
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 Basisklasse namens Animal
vor, die über eine Methode namens animalSound()
verfügt. Abgeleitete Tierklassen könnten Schweine, Katzen, Hunde, Vögel sein – und sie haben auch ihre eigene Implementierung eines Tiergeräuschs (das Schwein ächzt, die Katze miaut usw.):
Beispiel
// Basisklasse
class Animal {
public:
void animalSound() {
cout << "Das Tier macht ein Geräusch \n";
}
};
// Abgeleitete Klasse
class Pig : public Animal {
public:
void animalSound() {
cout << "The pig says: wee wee \n";
}
};
// Abgeleitete Klasse
class Dog : public Animal {
public:
void animalSound() {
cout << "The dog says: bow wow \n";
}
};
Denken Sie daran, dass wir im Kapitel Vererbung das Symbol :
verwenden, um von einer Klasse zu erben.
Jetzt können wir Pig
- und Dog
-Objekte erstellen und den überschreiben animalSound()
Methode:
Beispiel
// Basisklasse
class Animal {
public:
void animalSound() {
cout << "Das Tier macht ein Geräusch \n";
}
};
// Abgeleitete Klasse
class Pig : public Animal {
public:
void animalSound() {
cout << "The pig says: wee wee \n";
}
};
// Abgeleitete Klasse
class Dog : public Animal {
public:
void animalSound() {
cout << "The dog says: bow wow \n";
}
};
int main() {
Animal myAnimal;
Pig myPig;
Dog myDog;
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
return 0;
}
Try it Yourself »
Warum und wann werden „Vererbung“ und „Polymorphismus“ verwendet?
– Dies ist nützlich für die Wiederverwendbarkeit von Code: Verwenden Sie Attribute und Methoden einer vorhandenen Klasse wieder, wenn Sie eine neue Klasse erstellen.