Les protocoles Flashcards
Qu’est-ce qu’un protocole ?
Il sert à définir un plan minimal que doit suivre une classe, c’est une manière de s’assurer qu’une classe ait bien toutes les conditions requises avant de s’exécuter. Si elle ne suit pas le protocole, on aura alors un message d’erreur.
Comment appelle-t-on une classe qui a implémenté un protocole ?
Comment organiser les protocoles ?
Comment déclare-t-on un protocole ?
protocol NomDeMonProtocole {
}
À quoi ressemble un protocole ?
protocol ProtocoleAnimal { func cri() // Le cri de l'animal func seDeplacer() // Le déplacement de l'animal }
Seules les signatures de vos méthodes seront donc écrites dans votre protocole.
Comment fait-on pour préciser à une classe qu’elle doit implémenter un protocole ?
Pour préciser à une classe qu’elle doit implémenter un protocole, on le fait de la même façon que pour l’héritage grâce aux deux points :
**class Animal : ProtocoleAnimal { func seDeplacer() { // Instructions } func cri() { // Instructions }** }
Peut-on imposer à une classe de se conformer à plusieurs protocoles à la fois ?
Oui ! On sépare les protocoles dans la déclaration.
Une classe peut-elle hériter d’une classe ainsi que de ses protocoles ?
Oui !
Une classe peut à la fois hériter d’une classe et se conformer à un ou plusieurs protocoles. Pour réaliser cela, après le deux-points, en premier on met la classe à hériter, ensuite on indique le ou les protocole(s).
Un protocole peut-il hériter d’un protocole ?
Oui !
protocol ProtocoleAnimal2 : ProtocoleAnimal1 {
}