Sobes.tech
Junior — Middle

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 Reader en Go définit la méthode Read(), et tout type implémentant cette méthode peut être utilisé comme Reader.

  • 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.