Ваш пример слишком прост, но ваш комментарий "// можно добавить больше логики" указывает на возможность того, что свойство set может быть более сложным, чем простое присвоение частной переменной.
Не повторяйте ту же логику в конструкторе, если вы уже закодировали ту же логику в наборе свойств. Это может быть ненужным дублирующим кодом и может быть подвержено ошибкам, когда необходимо изменить логику, и это станет проблемой для разработчика в будущем, который должен поддерживать ваш код.
Если ваше свойство set имеет некоторый побочный эффект, который будет нежелательным / ненужным в конструкторе, например, уведомление о событии, то вам следует рефакторизовать общий код для его собственного метода. Конструктор и свойство set могут оба вызывать этот метод.
Вы получите много ответов "это зависит", потому что, ну, это зависит. Одной из причин этого будут личные предпочтения (часто определяемые прошлым опытом, когда что-то было трудно поддерживать или глючить). По какой-то причине причина в том, что все ситуации разные, и хотя, безусловно, существует множество общих шаблонов и задач, которые мы реализуем с помощью кода, всегда должна быть возможность не следовать норме, чтобы быть креативными или инновационными в ваших решениях по кодированию для ваших решений. проблема. Помните, что мы не программируем код, мы программируем решения, используя код как инструмент.