Нет?
Я предпочитаю инициализировать в конструкторе и извлекать метод инициализации только в том случае, если мне нужно много инициализированных полей и / или нужна возможность повторной инициализации в другой момент времени жизниэкземпляра (без прохождения через деструктор / конструкцию).
Что более важно, что означает 60?
Если это значимое значение, сделайте его const со значимым именем: NUMBER_OF_XXXXX, MINUTES_PER_HOUR, FIVE_DOZEN_APPLES, SPEED_LIMIT, ... независимо от того, как и где вы впоследствии будете его использовать (конструктор, метод init или функция-получатель).
Если сделать его именованной константой, это значение будет использоваться повторно само по себе,И использование const гораздо более «доступно», особенно для более вездесущих значений (например, 1 или -1), чем использование фактического значения.
Только если вы хотите связать это значение const с конкретным классом, это будетимеет смысл создать класс const или var, или - если язык не поддерживает их, - функцию класса getter.
Еще одна причина сделать ее (виртуальной) функцией getter была бы, если нужны классы-потомкивозможность начать с другого начального значения.
Редактировать (в ответ на комментарии):
Для инициализаций, которые включают сложные вычисления, я бы также извлек метод для вычисления,Выбор того, чтобы сделать этот метод процедурой, которая непосредственно изменяет значение поля (a) или функцию, которая возвращает значение, которое ему следует присвоить (b), будет зависеть от вопроса, понадобятся ли вычисления в другое время, кроме"просто конструктор".
Если бы это было необходимо только при инициализации в конструкторе, я бы предпочел метод (а).
Если вычисление необходимо выполнить и в другое время, я бывыберите метод (b), поскольку он также позволяет присваивать результат некоторому другому полю или локальной переменной и может использоваться потомками или другими пользователями класса, не влияя на внутреннее состояние экземпляра.