Sobes.tech
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.