Sobes.tech
Junior — Middle

Bővíthető-e egy osztály funkcionalitása interfészek segítségével új tulajdonságok vagy mezők hozzáadásával?

sobes.tech MI

Válasz az MI-től

Go-ban az interfészek olyan metódusok halmazát határozzák meg, amelyeket egy típusnak meg kell valósítania, de nem tartalmazhatnak tulajdonságokat vagy mezőket. Ezért nem lehet az osztály (típus) funkcionalitását új tulajdonságok hozzáadásával bővíteni interfészen keresztül. Az interfészek a viselkedés leírására szolgálnak, nem az adatszerkezetekre.

Példa egy interfészre Go-ban:

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

Ha új mezőket szeretne hozzáadni, azt struktúrával kell megtenni, nem interfésszel.