Sobes.tech
Junior — Middle

Quelles actions sont disponibles lors de l'extension du protocole avec des extensions?

sobes.tech IA

Réponse de l'IA

En Swift, les extensions permettent d'ajouter de nouvelles fonctionnalités aux types existants, y compris les protocoles. En étendant un protocole avec extension, on peut :

  • Ajouter des implémentations par défaut de méthodes et propriétés, évitant ainsi d'avoir à les implémenter dans chaque type conformant au protocole.
  • Ajouter des propriétés calculées.
  • Ajouter de nouvelles méthodes accessibles à tous les types conformes au protocole.

Cependant, les extensions de protocoles ne permettent pas d'ajouter de nouvelles exigences (par exemple, de nouvelles méthodes ou propriétés obligatoires), seulement des implémentations par défaut.

Exemple :

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("Bonjour depuis l'extension du protocole!")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Affiche : Bonjour depuis l'extension du protocole!