Sobes.tech
Junior — Middle

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:

  1. 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.

  2. Parametrischer Polymorphismus (Parametric Polymorphism) — wird durch generische Typen realisiert, bei denen Funktionen oder Klassen mit beliebigen Datentypen arbeiten.

  3. Ad-hoc-Polymorphismus (Ad-hoc Polymorphism) — umfasst die Überladung von Funktionen und Operatoren, bei denen eine Funktion mehrere Implementierungen mit unterschiedlichen Parametertypen hat.

  4. 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
}