kondr1
@kondr1
golang, js, c++

Почему в golang — встраивание это не наследование?

Простой и даже, по моему, глупый вопрос. Писал тест по языку и мне этот вопрос отметили ошибкой.
Так почему в golang — встраивание нельзя считать наследованием?
  • Вопрос задан
  • 3098 просмотров
Пригласить эксперта
Ответы на вопрос 1
@s_kozlov
Встраивание суть композиция. Это другой тип отношений, отличный от наследования или агрегации.
Хорошо описано по этой ссылке

Если в Go захочется агрегацию - используем поля-указатели на структуры, если композицию - встраивание. Таким образом управляем "жесткостью" связи и временем жизни структур.
Если необходим полиморфизм поведения в рантайме - используем поля-интерфейсы, в которые инстанцируем потребные структуры во время выполнения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы