Ответы пользователя по тегу ООП
  • Идеологически правильный setter?

    @gelas
    Проверять корректность должен.
    При этом он остается ответственным за одно действие — за установку именно email'a, а не произвольной строки.
    Поэтому и генерировать исключение при неправильных данных тоже должен.
    Метод же неспроста называется setEmail.
    Вы же не удивляетесь, что при попытке присвоить строку в integer поле получаете ошибку (вероятно даже компиляции).
    Здесь же происходит фактически тоже самое.
    Если говорить про идейность, то еще лучше сделать тип Email и проверки делать в нем. Но в обычном, а не идеальном коде, это почти наверняка будет излишним. Поэтому проверка в setter'e — хороший компромисс.
    Ответ написан
    Комментировать