Junior — Middle
Може ли да се разшири функционалността на клас, като се добавят нови свойства или полета чрез интерфейси?
sobes.tech AI
Отговор от AI
В Go интерфейсите определят набор от методи, които трябва да реализира един тип, но не могат да съдържат свойства или полета. Следователно, не е възможно да се разшири функционалността на клас (тип) чрез добавяне на нови свойства чрез интерфейс. Интерфейсите служат за описание на поведението, а не на структурата на данните.
Пример за интерфейс в Go:
type Reader interface {
Read(p []byte) (n int, err error)
}
Ако искате да добавите нови полета, това се прави чрез структура, а не чрез интерфейс.