Junior — Middle
Swift dilində çoxlu irsiyyəti həyata keçirmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
Swift dilində çoxlu irsiyyət (multiple inheritance) dəstəklənmir, yəni, sinif yalnız bir super sinifdən irsiyyət ala bilər.
Ancaq, Swift protokolları dəstəkləyir; bu protokollar vasitəsilə çoxlu irsiyyətə bənzər funksionallığı həyata keçirmək mümkündür.
Misal:
protocol Flyable {
func fly()
}
protocol Swimmable {
func swim()
}
class Animal {
func eat() {
print("Yeyir")
}
}
class Duck: Animal, Flyable, Swimmable {
func fly() {
print("Uçur")
}
func swim() {
print("Üzür")
}
}
let donald = Duck()
donald.eat() // Yeyir
donald.fly() // Uçur
donald.swim() // Üzür
Bu şəkildə, funksionallıq, bir sinfin irsiyyəti və bir neçə protokolun tətbiqi ilə genişləndirilir.