Sobes.tech
Junior — Middle

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 metoda Read(), iar orice tip care implementează această metodă poate fi utilizat ca Reader.

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