@Kscs

Для чего свойство класса создается в другом классе?

Наткнулся на метаните, на не понятный мне момент. Почему экземп61ed76ff4eb9f390389395.jpegляр класса создается в совершенно другом классе? Почему сделали именно так? В каких моментах такое используется ?
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 3
vabka
@vabka Куратор тега C#
Токсичный шарпист
Почему экземпляр класса company создаётся в конструкторе класса Person - из-за того что писавшему пример лень было показать что-то более приближенное к реальности (в реальности так писать обычно не следует).

Почему класс Person содержит поле типа Company - потому что автору так понадобилось.
Почему нет?
Ответ написан
это вы увидели архитетурный принцип "композицию" (composition) которая считается лучше чем "наследование" (inheritance)

https://en.wikipedia.org/wiki/Composition_over_inh...


the principle that classes should achieve polymorphic behavior and code reuse by their composition (by containing instances of other classes that implement the desired functionality) rather than inheritance from a base or parent class


принцип, согласно которому классы должны достигать полиморфного поведения и повторного использования кода за счет своей композиции (путем помещения в них экземпляров других классов, реализующих желаемую функциональность), а не наследования от базового или родительского класса

Ответ написан
HemulGM
@HemulGM
Delphi Developer, сис. админ
Здесь просто описан класс "персона", который содержит информацию о компании. Компания - другой класс. Создается объект "компания" внутри конструктора, чтоб иметь возможность сразу к нему обращаться. Своего рода инкапсуляция. Если поставить приват на поле и добавить геттер, то будет всё даже корректно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы