Junior — Middle
Je možné rozšíriť funkčnosť triedy pridávaním nových vlastností alebo polí prostredníctvom rozhraní?
sobes.tech AI
Odpoveď od AI
V Go definujú rozhrania súbor metód, ktoré musí typ implementovať, ale nemôžu obsahovať vlastnosti alebo polia. Preto nie je možné rozšíriť funkčnosť triedy (typu) pridaním nových vlastností cez rozhranie. Rozhrania slúžia na opis správania, nie štruktúry dát.
Príklad rozhrania v Go:
type Reader interface {
Read(p []byte) (n int, err error)
}
Ak chcete pridať nové polia, robí sa to cez štruktúru, nie cez rozhranie.