Junior — Middle
Lze v jazyce Swift implementovat dědičnost od více tříd současně?
sobes.tech AI
Odpověď od AI
Ve Swiftu není možné dědit z více tříd najednou, tedy vícenásobné dědění tříd není podporováno. Třída může mít pouze jednoho rodiče. Místo toho Swift používá protokoly k dosažení podobné funkčnosti: třída může implementovat více protokolů, což umožňuje přidávat různé chování a vlastnosti bez vícenásobného dědění.
Příklad implementace protokolů:
protocol Drivable {
func drive()
}
protocol Flyable {
func fly()
}
class Vehicle: Drivable {
func drive() {
print("Jede")
}
}
class FlyingCar: Vehicle, Flyable {
func fly() {
print("Letí")
}
}
let car = FlyingCar()
car.drive() // Jede
car.fly() // Letí
Tímto způsobem Swift podporuje složení přes protokoly místo vícenásobného dědění tříd.