Junior — Middle
Lze rozšířit funkčnost třídy přidáním nových vlastností nebo polí pomocí rozhraní?
sobes.tech AI
Odpověď od AI
V Go definují rozhraní sady metod, které musí typ implementovat, ale nem mohou obsahovat vlastnosti nebo pole. Proto nelze rozšířit funkčnost třídy (typu) přidáním nových vlastností přes rozhraní. Rozhraní slouží k popisu chování, nikoli datových struktur.
Příklad rozhraní v Go:
type Reader interface {
Read(p []byte) (n int, err error)
}
Pokud chcete přidat nová pole, dělá se to přes strukturu, nikoli přes rozhraní.