Sobes.tech
Junior — Middle

Може ли да се разшири функционалността на клас, като се добавят нови свойства или полета чрез интерфейси?

sobes.tech AI

Отговор от AI

В Go интерфейсите определят набор от методи, които трябва да реализира един тип, но не могат да съдържат свойства или полета. Следователно, не е възможно да се разшири функционалността на клас (тип) чрез добавяне на нови свойства чрез интерфейс. Интерфейсите служат за описание на поведението, а не на структурата на данните.

Пример за интерфейс в Go:

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

Ако искате да добавите нови полета, това се прави чрез структура, а не чрез интерфейс.