@a_ovchinnikov
Web developer

Хранение значения внутри метода. Хорошо или плохо?

Всем привет!

Вдруг задался вот каким вопросом: допустим у нас есть базовый класс следующего вида:

class A
{
    public function isDisplayable()
    {
        return true;
    }
}


У которого есть, скажем, метод, характеризующий свойство объекта быть отображенным.
Также данный класс имеет несколько классов наследников:

class B extends A
{
}

class C extends A
{
    public function isDisplayable()
    {
        return false;
    }
}


Дак вот собственно в чем вопрос - как Вы считаете, насколько уместно использовать подобные методы, состоящие только из оператора return с возвращением какого-то значения? Получается что объект что-то сам знает про себя и поведение может изменяться от класса к классу. Или же все-таки правильнее сделать внешний класс, который принимая объект типа A и сообщит всю необходимую информацию о нем.
Понимаю, что вопрос сильно контекстнозависимый, но все же хотелось бы узнать кто что думает.
  • Вопрос задан
  • 258 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Аккурат пример к "Replace Conditional with Polymorphism" из Рефакторинга М. Фаулера.
Да, уместно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Machez
@Machez
Бу!
Вообще это нормально, если return возвращает значение какого-либо приватного свойства. В противном случае можно не морочится с функцией, а ограничится публичным свойством класса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы