Protocoles
Protocoles
Syntaxe
protocol Animal {
var name: String { get }
func makeSound()
}
Ici, Animal est un protocole qui exige que toute entité l’adoptant ait une propriété name et une méthode makeSound.
Adoption et conformité à un protocole
class Dog: Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
print("Ouaf Ouaf")
}
}
class Cat: Animal {
var name: String
init(name: String) {
self.name = name
}
func makeSound() {
print("Miaouuwwww")
}
}
La classe Dog et Cat adoptent le protocole Animal. Elles ont toutes deux une propriété name et implémentent la méthode makeSound.
Propriétés de protocoles
protocol Car {
var color: String { get set }
var make: String { get }
}color est une propriété en lecture-écriture. make est une propriété en lecture seule.
Implémentation
class Porsche: Car {
var color: String
let make: String
init(color: String, make: String) {
self.color = color
self.make = make
}
}
Héritage de protocoles
protocol ElectricCar: Car {
var batteryLife: Int { get }
}
class Tesla: ElectricCar {
var color: String
let make: String
var batteryLife: Int
init(color: String, make: String, batteryLife: Int) {
self.color = color
self.make = make
self.batteryLife = batteryLife
}
}
Exercices Pratiques
Exo protocoles
Télécharger le playground
Accède aux consignes directement en téléchargeant le playground.
⚠️ Les consignes que tu trouveras dans le playground ne sont pas verrouillées. Fais attention à ne pas les effacer par inadvertance !
Objectif
Les protocoles sont pratiques pour définir un ensemble de règles ou de fonctionnalités que les classes, structures ou énumérations peuvent adopter. Ils te permettent, par exemple, de garantir qu’un type respecte certaines exigences, comme avoir des propriétés spécifiques ou implémenter des méthodes particulières. Les protocoles sont parfaits pour structurer ton code et rendre tes types plus flexibles et modulaires. En apprenant à utiliser les protocoles, tu pourras écrire un code plus propre, réutilisable et facile à maintenir, tout en tirant pleinement parti de la programmation orientée protocole, qui est au cœur de Swift.
Note
Les protocoles permettent de définir des comportements réutilisables et de séparer les responsabilités. Plutôt que de tout mettre dans une seule classe ou structure, utilise plusieurs protocoles pour diviser les fonctionnalités en petits blocs logiques.
Exercices Pratiques
Exo protocoles
Télécharger le playground
Accède aux consignes directement en téléchargeant le playground.
⚠️ Les consignes que tu trouveras dans le playground ne sont pas verrouillées. Fais attention à ne pas les effacer par inadvertance !
Objectif
Les protocoles sont pratiques pour définir un ensemble de règles ou de fonctionnalités que les classes, structures ou énumérations peuvent adopter. Ils te permettent, par exemple, de garantir qu’un type respecte certaines exigences, comme avoir des propriétés spécifiques ou implémenter des méthodes particulières. Les protocoles sont parfaits pour structurer ton code et rendre tes types plus flexibles et modulaires. En apprenant à utiliser les protocoles, tu pourras écrire un code plus propre, réutilisable et facile à maintenir, tout en tirant pleinement parti de la programmation orientée protocole, qui est au cœur de Swift.
Note
Les protocoles permettent de définir des comportements réutilisables et de séparer les responsabilités. Plutôt que de tout mettre dans une seule classe ou structure, utilise plusieurs protocoles pour diviser les fonctionnalités en petits blocs logiques.