Junior — Middle
Este posibil să implementați moștenirea multiplă în limbajul Swift?
sobes.tech AI
Răspuns de la AI
În limbajul Swift, moștenirea multiplă a claselor nu este suportată, adică o clasă poate moșteni doar de la o singură superclasă.
Cu toate acestea, Swift suportă protocoale, care permit implementarea funcționalității similare cu moștenirea multiplă prin implementarea mai multor protocoale.
Exemplu:
protocol Flyable {
func fly()
}
protocol Swimmable {
func swim()
}
class Animal {
func eat() {
print("Mănâncă")
}
}
class Duck: Animal, Flyable, Swimmable {
func fly() {
print("Zboară")
}
func swim() {
print("Înoată")
}
}
let donald = Duck()
donald.eat() // Mănâncă
donald.fly() // Zboară
donald.swim() // Înoată
Astfel, pentru extinderea funcționalității, se folosește moștenirea unei clase și implementarea mai multor protocoale.