Junior — Middle
Czy można rozszerzyć funkcjonalność klasy, dodając nowe właściwości lub pola za pomocą interfejsu?
sobes.tech AI
Odpowiedź od AI
W Go interfejsy definiują zestaw metod, które musi zaimplementować typ, ale nie mogą zawierać właściwości ani pól. W związku z tym nie można rozszerzyć funkcjonalności klasy (typu) dodając nowe właściwości za pomocą interfejsu. Interfejsy służą do opisywania zachowania, a nie struktury danych.
Przykład interfejsu w Go:
type Reader interface {
Read(p []byte) (n int, err error)
}
Jeśli chcesz dodać nowe pola, robisz to przez strukturę, nie przez interfejs.