Sobes.tech
Junior — Middle

Peut-on implémenter l'héritage multiple dans le langage Swift ?

sobes.tech IA

Réponse de l'IA

Dans le langage Swift, l'héritage multiple de classes n'est pas supporté, c'est-à-dire qu'une classe ne peut hériter que d'une seule superclasse.

Cependant, Swift supporte les protocoles, qui permettent d'implémenter des fonctionnalités similaires à l'héritage multiple en implémentant plusieurs protocoles.

Exemple :

protocol Flyable {
    func fly()
}

protocol Swimmable {
    func swim()
}

class Animal {
    func eat() {
        print("Manger")
    }
}

class Duck: Animal, Flyable, Swimmable {
    func fly() {
        print("Voler")
    }
    
    func swim() {
        print("Nager")
    }
}

let donald = Duck()
donald.eat()  // Manger
donald.fly()  // Voler
donald.swim() // Nager

Ainsi, pour étendre la fonctionnalité, on utilise l'héritage d'une classe et l'implémentation de plusieurs protocoles.