Sobes.tech
Junior — Middle

Swift dilində çoxlu sinif və ya protokol irsinin əldə olunması necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də, bir sinif yalnız bir üst sinifdən miras ala bilər, yəni çoxlu sinif mirasçılığı dəstəklənmir. Ancaq, oxşar effekti əldə etmək üçün, bir sinifin miras alınması və bir neçə protokolun tətbiqi istifadə olunur. Swift-də protokollar, bir sinif, struktur və ya enum tərəfindən yerinə yetirilməsi lazım olan tələblər (metodlar, xüsusiyyətlər) toplusunu müəyyən edir. Beləliklə, bir sinif həm üst sinifindən davranış miras ala bilər, həm də eyni zamanda bir neçə protokola uyğunlaşa bilər, bu da funksionallığın birləşdirilməsinə imkan verir.

Nümunə:

protocol Drivable {
    func drive()
}

protocol Flyable {
    func fly()
}

class Vehicle {
    func start() {
        print("Nəqliyyat başladı")
    }
}

class FlyingCar: Vehicle, Drivable, Flyable {
    func drive() {
        print("Yolda sürmək")
    }
    
    func fly() {
        print("Göydə uçmaq")
    }
}

let myFlyingCar = FlyingCar()
myFlyingCar.start()  // Nəqliyyat başladı
myFlyingCar.drive()  // Yolda sürmək
myFlyingCar.fly()    // Göydə uçmaq

Beləliklə, çoxlu miras alma, bir sinifin miras alınması və bir neçə protokolun tətbiqi ilə əldə edilir.