Junior — Middle
Kas Swift keeles on võimalik samaaegselt rakendada mitme klassi pärandamist?
sobes.tech AI
Vastus AI-lt
Swiftis ei saa pärida korraga mitmest klassist, see tähendab, et mitmekordne klassipärimine ei ole toetatud. Klass võib omada ainult ühte vanemat. Selle asemel kasutab Swift protokolle, et saavutada sarnane funktsionaalsus: klass võib rakendada mitmeid protokolle, mis võimaldab lisada erinevaid käitumisi ja omadusi ilma mitmekordse pärimiseta.
Protokollide rakendamise näide:
protocol Drivable {
func drive()
}
protocol Flyable {
func fly()
}
class Vehicle: Drivable {
func drive() {
print("Sõidab")
}
}
class FlyingCar: Vehicle, Flyable {
func fly() {
print("Lennata")
}
}
let car = FlyingCar()
car.drive() // Sõidab
car.fly() // Lennata
Sel viisil soodustab Swift koostööd protokollide kaudu, mitte mitmekordset klassipärimist.