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.