Junior — Middle
È possibile implementare l'ereditarietà multipla nel linguaggio Swift?
sobes.tech AI
Risposta dell'AI
Nel linguaggio Swift, l'ereditarietà multipla delle classi non è supportata, cioè una classe può ereditare solo da una superclasse.
Tuttavia, Swift supporta i protocolli, che consentono di implementare funzionalità simili all'ereditarietà multipla attraverso l'implementazione di più protocolli.
Esempio:
protocol Flyable {
func fly()
}
protocol Swimmable {
func swim()
}
class Animal {
func eat() {
print("Mangiare")
}
}
class Duck: Animal, Flyable, Swimmable {
func fly() {
print("Volando")
}
func swim() {
print("Nuotando")
}
}
let donald = Duck()
donald.eat() // Mangiare
donald.fly() // Volando
donald.swim() // Nuotando
In questo modo, per estendere la funzionalità si utilizza l'ereditarietà di una classe e l'implementazione di più protocolli.