Peut-on déclarer un protocole d'extension dans une déclaration en indiquant un autre protocole pour qu'il hérite de ses propriétés?
sobes.tech IA
Réponse de l'IA
En Swift, les protocoles peuvent hériter des propriétés et méthodes d'autres protocoles. Cependant, les protocoles d'extension (extension protocols) ne sont pas déclarés séparément : les extensions s'appliquent aux protocoles existants.
Si vous souhaitez qu'un protocole hérite d'un autre, vous le déclarez explicitement :
protocol A {
func methodA()
}
protocol B: A {
func methodB()
}
Ici, le protocole B hérite du protocole A et nécessite la mise en œuvre des deux méthodes.
Les extensions de protocoles (extension) permettent d'ajouter des implémentations de méthodes, mais pas de déclarer un nouveau protocole avec héritage. Ainsi, déclarer un protocole d'extension avec héritage de propriétés d'un autre protocole ne peut se faire que par héritage normal de protocoles, et non par extensions.