Хранение значения внутри метода. Хорошо или плохо? Всем привет! Вдруг задался вот каким вопросом: допустим у нас есть базовый класс следующего вида:class A { public function isDisplayable() { return true; } } У которого есть, скажем, метод, характеризующий свойство объекта быть отображенным. Также данный класс имеет несколько классов наследников:class B extends A { } class C extends A { public function isDisplayable() { return false; } } Дак вот собственно в чем вопрос - как Вы считаете, насколько уместно использовать подобные методы, состоящие только из оператора return с возвращением какого-то значения? Получается что объект что-то сам знает про себя и поведение может изменяться от класса к классу. Или же все-таки правильнее сделать внешний класс, который принимая объект типа A и сообщит всю необходимую информацию о нем. Понимаю, что вопрос сильно контекстнозависимый, но все же хотелось бы узнать кто что думает.
Ответ на этот вопрос зависит от конкретной ситуации и структуры вашего приложения. В общем случае, использование методов, которые возвращают значение на основе внутренних свойств объекта, может быть уместным.
В вашем примере, метод isDisplayable() возвращает значение в зависимости от типа объекта, что является общепринятой практикой в ООП. Это позволяет объекту самому контролировать свое поведение в соответствии с его состоянием, что может быть удобно и структурированно.
Однако, если в будущем вам понадобится более сложная логика для определения отображения объекта, может быть разумнее вынести эту логику в отдельный класс или сервис. Такой подход делает ваш код более модульным и упрощает его тестирование и поддержку.
Итак, использование методов для хранения значения внутри объекта - это общепринятая практика, но в зависимости от сложности логики и требований вашего приложения, может потребоваться вынести эту логику в отдельный компонент.
Ответ на этот вопрос зависит от конкретной ситуации и структуры вашего приложения. В общем случае, использование методов, которые возвращают значение на основе внутренних свойств объекта, может быть уместным.
В вашем примере, метод isDisplayable() возвращает значение в зависимости от типа объекта, что является общепринятой практикой в ООП. Это позволяет объекту самому контролировать свое поведение в соответствии с его состоянием, что может быть удобно и структурированно.
Однако, если в будущем вам понадобится более сложная логика для определения отображения объекта, может быть разумнее вынести эту логику в отдельный класс или сервис. Такой подход делает ваш код более модульным и упрощает его тестирование и поддержку.
Итак, использование методов для хранения значения внутри объекта - это общепринятая практика, но в зависимости от сложности логики и требований вашего приложения, может потребоваться вынести эту логику в отдельный компонент.