Junior — Middle
Je možné v jazyku Swift implementovať viacnásobné dedičstvo od viacerých tried naraz?
sobes.tech AI
Odpoveď od AI
V Swift nie je možné dediť od viacerých tried naraz, teda podpora viacnásobného dedičstva tried nie je dostupná. Trieda môže mať iba jedného rodiča. Namiesto toho Swift používa protokoly na dosiahnutie podobnej funkčnosti: trieda môže implementovať viacero protokolov, čo umožňuje pridávať rôzne správania a vlastnosti bez viacnásobného dedičstva.
Príklad implementácie protokolov:
protocol Drivable {
func drive()
}
protocol Flyable {
func fly()
}
class Vehicle: Drivable {
func drive() {
print("Jazdí")
}
}
class FlyingCar: Vehicle, Flyable {
func fly() {
print("Letí")
}
}
let car = FlyingCar()
car.drive() // Jazdí
car.fly() // Letí
Týmto spôsobom Swift podporuje skladanie cez protokoly namiesto viacnásobného dedičstva tried.