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