Quelle est la différence entre les interfaces et les types génériques en programmation?
sobes.tech IA
Réponse de l'IA
Les interfaces et les types génériques abordent différentes tâches en programmation :
-
Les interfaces décrivent un ensemble de méthodes qu'un type doit implémenter. Elles permettent de travailler avec différents types via un contrat commun, assurant le polymorphisme. Par exemple, l'interface
Readeren Go définit la méthodeRead(), et tout type implémentant cette méthode peut être utilisé commeReader. -
Les types génériques permettent d'écrire des fonctions et des structures qui fonctionnent avec différents types de données, tout en conservant la sécurité de type. Ce sont des modèles paramétrés par des types, compilés pour des types spécifiques lors de l'utilisation.
Exemple en Go :
// Interface
type Reader interface {
Read(p []byte) (n int, err error)
}
// Fonction générique
func PrintSlice[T any](s []T) {
for _, v := range s {
fmt.Println(v)
}
}
Ainsi, les interfaces définissent le comportement, et les types génériques offrent la polyvalence du code pour différents types.