Неправильно добавлять код в Конструктор, твой наставник прав.Но добавление вызова метода, это не так.
Таким образом, вы можете просто инкапсулировать операции, которые будут ограничивать ввод в другом методе, и вызывать его сразу после супер.
Но, лучшая практика в моеммнение, это иметь дело с ограничением ввода перед передачей его конструктору.
Разобрать ввод в отдельном классе или в коде за интерфейсным классом.Избегайте использования операции кода в классе, представляющем модель чего-либо, в данном случае, вашу «денежную модель»
Почему это плохая практика?
В объектной ориентации вы должны писать классытак что они не выполняют больше операций, которые они должны знать.В этом случае ваш класс представляет модель объекта, деньги.Зачем модели самостоятельно анализировать значение, передаваемое ее конструктору?Понял ?Лучшая практика - передать значения для конструктора, уже проанализированные и ограниченные, так что классу нужно будет только сохранить эти значения.
Например, допустим, вчера ваши ограничения изменились, все, что у вас было бысделать, это изменить часть анализа, вместо того, чтобы писать код внутри класса Money.
Другой пример, кто-то должен будет использовать ваш класс денег, но у него будут свои ограничения, все, что ему нужноdo использует свой класс синтаксического анализа вместо того, чтобы менять свой класс внутри класса money. Надеюсь, это поможет.