Sobes.tech
Junior — Middle

Swift dilinde aynı anda birden fazla sınıftan kalıtım yapmak mümkün mü?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift'te aynı anda birden fazla sınıftan kalıtım almak mümkün değildir, yani çoklu sınıf kalıtımı desteklenmemektedir. Bir sınıfın yalnızca bir ebeveyni olabilir. Bunun yerine, Swift benzer bir işlevsellik elde etmek için protokolleri kullanır: bir sınıf birden fazla protokolü uygulayabilir, bu da farklı davranışlar ve özellikler eklemeyi çoklu kalıtım olmadan sağlar.

Protokollerin uygulanmasına örnek:

protocol Drivable {
    func drive()
}

protocol Flyable {
    func fly()
}

class Vehicle: Drivable {
    func drive() {
        print("Sürüyor")
    }
}

class FlyingCar: Vehicle, Flyable {
    func fly() {
        print("Uçuyor")
    }
}

let car = FlyingCar()
car.drive() // Sürüyor
car.fly()   // Uçuyor

Bu şekilde, Swift protokoller aracılığıyla bileşimi teşvik eder, sınıfların çoklu kalıtımı yerine.