C++ Polymorphismus
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 Basisklasse namens Animal
vor, die eine Methode namens hat animalSound()
. Abgeleitete Tierklassen 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
// Base class
class Animal {
public:
void
animalSound() {
cout << "The animal makes a sound \n"
;
}
};
// Derived class
class Pig : public Animal {
public:
void
animalSound() {
cout << "The pig says: wee wee \n" ;
}
};
// Derived class
class Dog
: public Animal {
public:
void animalSound()
{
cout << "The dog says: bow wow \n" ;
}
};
Erinnern Sie sich aus dem Kapitel Vererbung daran , dass wir das :
Symbol verwenden, um von einer Klasse zu erben.
Jetzt können wir Objekte erstellen Pig
und die Methode
Dog
überschreiben :animalSound()
Beispiel
// Base class
class Animal {
public:
void
animalSound() {
cout << "The animal makes a sound \n"
;
}
};
// Derived class
class Pig : public Animal {
public:
void
animalSound() {
cout << "The pig says: wee wee \n" ;
}
};
// Derived class
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;
}
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.