Peut-on hériter d'une structure de plusieurs parents?
sobes.tech IA
Réponse de l'IA
Non. En Objective-C et Swift, les structures ne supportent pas l'héritage multiple.
En Swift, les structures disposent de capacités importantes, notamment les protocoles, extensions, méthodes, propriétés calculées, propriétés stockées et initialisateurs.
Cependant, pour atteindre des objectifs similaires en Swift, on utilise :
-
Protocoles : Définissent un ensemble d'exigences (méthodes, propriétés, initialisateurs). Un type (structure ou classe) peut se conformer à un ou plusieurs protocoles, acquérant ainsi leur "comportement".
// Exemple de protocole protocol Animal { var name: String { get } func makeSound() } // Structure conforme au protocole struct Dog: Animal { let name: String func makeSound() { print("Woof!") } } -
Extensions : Ajoutent de nouvelles fonctions à un type existant sans modifier son code source.
// Exemple d'extension pour String extension String { func reversedWords() -> String { let words = self.split(separator: " ") return words.reversed().joined(separator: " ") } } // Utilisation de l'extension let sentence = "Bonjour le monde" print(sentence.reversedWords()) // Affiche : monde le Bonjour
Les classes en Swift supportent l'héritage simple d'une classe parente, mais peuvent implémenter plusieurs protocoles.