Sobes.tech
Junior — Middle

Ar galima išplėsti klasės funkcionalumą pridedant naujas savybes ar laukus per sąsają?

sobes.tech AI

Atsakymas iš AI

Go kalboje sąsajos apibrėžia metodų rinkinį, kurį turi įgyvendinti tipas, tačiau jos negali turėti savybių ar laukų. Todėl nėra įmanoma išplėsti klasės (tipo) funkcionalumo pridėjus naujų savybių per sąsają. Sąsajos skirtos apibūdinti elgseną, o ne duomenų struktūras.

Pavyzdys sąsajos Go kalboje:

type Reader interface {
    Read(p []byte) (n int, err error)
}

Jei norite pridėti naujų laukų, tai daroma per struktūrą, o ne per sąsają.