Sobes.tech
Junior — Middle

Is het mogelijk om de functionaliteit van een klasse uit te breiden door nieuwe eigenschappen of velden toe te voegen via interfaces?

sobes.tech AI

Antwoord van AI

In Go definiëren interfaces een set methoden die een type moet implementeren, maar ze kunnen geen eigenschappen of velden bevatten. Daarom is het niet mogelijk om de functionaliteit van een klasse (type) uit te breiden door nieuwe eigenschappen via een interface toe te voegen. Interfaces worden gebruikt om gedrag te beschrijven, niet data-structuren.

Voorbeeld van een interface in Go:

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

Als je nieuwe velden wilt toevoegen, doe je dat via een structuur, niet via een interface.