Junior — Middle
Kannst du ein Beispiel geben, das die verschiedenen Arten von Polymorphismus in der objektorientierten Programmierung veranschaulicht?
sobes.tech KI
Antwort von AI
In der objektorientierten Programmierung ermöglicht Polymorphismus, dass Objekte verschiedener Klassen Methodenaufrufe mit demselben Namen unterschiedlich behandeln.
1. Kompilierungszeit-Polymorphismus (statischer Polymorphismus):
- Methodenüberladung: mehrere Methoden mit demselben Namen, aber unterschiedlichen Parametern.
class Calculator {
func add(a: Int, b: Int) -> Int {
return a + b
}
func add(a: Double, b: Double) -> Double {
return a + b
}
}
2. Laufzeit-Polymorphismus (dynamischer Polymorphismus):
- Überschreiben von Methoden in Unterklassen.
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() // Gibt "Bellen" und "Miau" aus
}
Auf diese Weise ermöglicht Polymorphismus die Verwendung einer einzigen Schnittstelle zur Arbeit mit verschiedenen Objekttypen.