Sobes.tech
Junior — Middle

Swift dilinde çoklu kalıtım uygulanabilir mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift dilinde çoklu sınıf kalıtımı desteklenmemektedir, yani bir sınıf yalnızca bir üst sınıftan kalıtım alabilir.

Ancak, Swift protokolleri destekler; bu protokoller, birkaç protokolün uygulanmasıyla çoklu kalıtıma benzer işlevsellik sağlar.

Örnek:

protocol Flyable {
    func fly()
}

protocol Swimmable {
    func swim()
}

class Animal {
    func eat() {
        print("Yemek yiyor")
    }
}

class Duck: Animal, Flyable, Swimmable {
    func fly() {
        print("Uçuyor")
    }
    
    func swim() {
        print("Yüzüyor")
    }
}

let donald = Duck()
donald.eat()  // Yemek yiyor
donald.fly()  // Uçuyor
donald.swim() // Yüzüyor

Bu şekilde, fonksiyonellik, bir sınıfın kalıtımı ve birkaç protokolün uygulanmasıyla genişletilir.