Junior — Middle
Is het mogelijk om in de Swift-taal gelijktijdig van meerdere klassen te erven?
sobes.tech AI
Antwoord van AI
In Swift is het niet mogelijk om van meerdere klassen tegelijk te erven, dat wil zeggen, meervoudige klasse-erfenis wordt niet ondersteund. Een klasse kan slechts één ouder hebben. In plaats daarvan gebruikt Swift protocollen om een vergelijkbare functionaliteit te bereiken: een klasse kan meerdere protocollen implementeren, waardoor verschillende gedragingen en eigenschappen kunnen worden toegevoegd zonder meervoudige erfenis.
Voorbeeld van protocolimplementatie:
protocol Drivable {
func drive()
}
protocol Flyable {
func fly()
}
class Vehicle: Drivable {
func drive() {
print("Rijdt")
}
}
class FlyingCar: Vehicle, Flyable {
func fly() {
print("Vliegt")
}
}
let car = FlyingCar()
car.drive() // Rijdt
car.fly() // Vliegt
Op deze manier stimuleert Swift compositie via protocollen in plaats van meervoudige klasse-erfenis.