Junior — Middle
Is meervoudige overerving mogelijk in de Swift-taal?
sobes.tech AI
Antwoord van AI
In de programmeertaal Swift wordt meervoudige klasse-erfenis niet ondersteund, dat wil zeggen dat een klasse slechts van één superklasse kan erven.
Echter, Swift ondersteunt protocollen, die het mogelijk maken om functionaliteit die lijkt op meervoudige erfenis te implementeren door meerdere protocollen te implementeren.
Voorbeeld:
protocol Flyable {
func fly()
}
protocol Swimmable {
func swim()
}
class Animal {
func eat() {
print("Eten")
}
}
class Duck: Animal, Flyable, Swimmable {
func fly() {
print("Vliegen")
}
func swim() {
print("Zwemmen")
}
}
let donald = Duck()
donald.eat() // Eten
donald.fly() // Vliegen
donald.swim() // Zwemmen
Op deze manier wordt functionaliteit uitgebreid door erfenis van één klasse en implementatie van meerdere protocollen te combineren.