Лично я бы установил переменную непосредственно в случаях most .
Методы обычно ожидают, что экземпляр полностью сформирован к тому времени, когда они называется. В частности, вызов переопределенного метода из конструктора является рецептом для трудно понятного кода и труднодоступных ошибок.
Сказав это, я часто стараюсь сделать классы неизменными в любом случае, в которых в случае не существует сеттера, но у вас есть , чтобы в конечном итоге установить конечную переменную из конструктора (или инициализатора переменной):)
Если свойства имеют логику, логика установки обычно проверяют и иногда меняют распространение на наблюдателей. Обычно я ожидал, что параметры конструктора будут проверяться явно в начале метода, и вы не захотите хотеть , чтобы какое-либо изменение распространилось до того, как экземпляр будет полностью создан.