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.