Sobes.tech
Junior — Middle

Може ли в езика Swift да се реализира наследяване от няколко класа едновременно?

sobes.tech AI

Отговор от AI

В Swift не е възможно наследяване от няколко класа едновременно, тоест множественото наследяване на класове не се поддържа. Един клас може да има само един родител. Вместо това, Swift използва протоколи за постигане на подобна функционалност: клас може да реализира няколко протокола, което позволява добавяне на различни поведения и свойства без множествено наследяване.

Пример за реализиране на протоколи:

protocol Drivable {
    func drive()
}

protocol Flyable {
    func fly()
}

class Vehicle: Drivable {
    func drive() {
        print("Кара")
    }
}

class FlyingCar: Vehicle, Flyable {
    func fly() {
        print("Лети")
    }
}

let car = FlyingCar()
car.drive() // Кара
car.fly()   // Лети

По този начин Swift насърчава композицията чрез протоколи вместо множествено наследяване на класове.