Sobes.tech
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í.