- Свойства класса задаются через параметры конструктора.
- Свойства класса задаются через установщики уже после вызова конструктора.
Первый способ удобнее, т.к. позволяет создать объект одной строкой.
Второй способ нагляднее и позволит определить последовательность инициализации свойств так, как удобно клиенту (объект, инстанцирующий наш класс).
Есть ли смысл делать установщики для свойств, которые инициализируются один раз в конструкторе? Наверное нет.
В общем, надо строго разделять свойства по частоте обращения к ним извне.
1 комментарий:
Пример такой неоднозначности, которая требует жесткого разделения инициализации:
Конструктор объекта A создает объект B, которому передает ссылку на себя. При этом, объект B использует класс A и обращается к его свойствам, которые могут быть еще не инициализированы.
Соответственно, создание класса B лучше вынести в отдельный установщик.
Отправить комментарий