Care este diferența dintre interfețe și tipurile generice în programare?
sobes.tech AI
Răspuns de la AI
Interfețele și tipurile generice îndeplinesc sarcini diferite în programare:
-
Interfețele descriu un set de metode pe care un tip trebuie să le implementeze. Ele permit lucrul cu diferite tipuri printr-un contract comun, asigurând polimorfismul. De exemplu, interfața
Readerîn Go definește metodaRead(), iar orice tip care implementează această metodă poate fi utilizat caReader. -
Tipurile generice permit scrierea de funcții și structuri care funcționează cu diferite tipuri de date, păstrând siguranța tipurilor. Sunt modele parametrizate de tipuri, compilate pentru tipuri specifice la utilizare.
Exemplu în Go:
// Interfață
type Reader interface {
Read(p []byte) (n int, err error)
}
// Funcție generică
func PrintSlice[T any](s []T) {
for _, v := range s {
fmt.Println(v)
}
}
Astfel, interfețele definesc comportamentul, iar tipurile generice oferă versatilitate în cod pentru diferite tipuri.