Junior
Qu'est-ce que les génériques en programmation?
sobes.tech IA
Réponse de l'IA
Les génériques (Generics) sont une façon d’écrire un code flexible et réutilisable qui fonctionne avec n’importe quel type de données, tout en conservant la sécurité de type. Ils permettent de reporter la spécification d’un type concret jusqu’au moment de l’utilisation.
Principaux avantages :
- Éviter la duplication de code : On peut écrire un algorithme/structure de données qui fonctionne avec différents types.
- Sécurité de type : Le compilateur vérifie la compatibilité des types lors de la compilation, évitant ainsi les erreurs d’exécution liées à des types incorrects.
- Code plus expressif : Montre plus clairement les intentions du développeur concernant les types de données.
Exemple d’utilisation en Swift :
Structure générique Stack :
struct Stack<Element> {
// Element générique utilisé comme type des éléments du tableau
private var items: [Element] = []
// Element générique utilisé comme type du paramètre
mutating func push(_ item: Element) {
items.append(item)
}
// Element générique utilisé comme type de retour
mutating func pop() -> Element {
return items.removeLast()
}
}
Utilisation avec des chaînes :
var stringStack = Stack<String>()
stringStack.push("hello")
stringStack.push("world")
let lastString = stringStack.pop() // lastString est de type String
Utilisation avec des nombres :
var intStack = Stack<Int>()
intStack.push(1)
intStack.push(2)
let lastInt = intStack.pop() // lastInt est de type Int
Sans génériques, il aurait fallu écrire des structures séparées pour Stack<String>, Stack<Int>, etc., ou utiliser des approches moins sûres (par exemple, Any).