Un protocole peut avoir des exigences de propriétés. Elles peuvent être de n’importe quel type. Nous devons spécifier comme pour une propriété calculée si elle set set get ou les 2.

J’ai donc créé 2 classes, une classe oiseau et une classe avion. Comme les 2 peuvent voler, j’ai décidé de créer un protocole voler. Ajoutons maintenant une propriété qui sera type d’ailes.

protocol Voler {
    var typeAiles: String { get set }
}
class Oiseau: Voler {
}
class Avion: Voler {
} 

Nous avons désormais 2 erreurs car nos classes ne se conforment pas aux exigences du protocole.

class Oiseau: Voler {
    var typeAiles: String = “Plumes”
}
class Avion: Voler {
    var typeAiles: String = “Acier”
} 

Maintenant nos 2 classes se conforment au protocole.