Kannst du die verschiedenen Arten von Polymorphismus in der objektorientierten Programmierung aufzählen?
sobes.tech KI
Antwort von AI
In der objektorientierten Programmierung (OOP) werden mehrere Haupttypen der Polymorphie unterschieden:
-
Subtyp-Polymorphismus (Subtype Polymorphism) — der häufigste Typ, umgesetzt durch Vererbung und Überschreiben von Methoden. Er ermöglicht die Verwendung von Objekten der Unterklassen anstelle der Basisklasse.
-
Parametrischer Polymorphismus (Parametric Polymorphism) — wird durch generische Typen realisiert, bei denen Funktionen oder Klassen mit beliebigen Datentypen arbeiten.
-
Ad-hoc-Polymorphismus (Ad-hoc Polymorphism) — umfasst die Überladung von Funktionen und Operatoren, bei denen eine Funktion mehrere Implementierungen mit unterschiedlichen Parametertypen hat.
-
Laufzeit-Polymorphismus (Runtime Polymorphism) — wird durch virtuelle Methoden und dynamisches Binden erreicht, bei denen der Methodenaufruf zur Laufzeit bestimmt wird.
Beispiel für Subtyp-Polymorphismus in Swift (iOS):
class Animal {
func sound() {
print("Ein Geräusch")
}
}
class Dog: Animal {
override func sound() {
print("Bellen")
}
}
class Cat: Animal {
override func sound() {
print("Miau")
}
}
let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
animal.sound() // Der Methodenaufruf hängt vom tatsächlichen Objekttyp ab
}