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

21 Авг 2019 в 07:06
181 +1
0
Ответы
1

Ответ на этот вопрос зависит от конкретной ситуации и структуры вашего приложения. В общем случае, использование методов, которые возвращают значение на основе внутренних свойств объекта, может быть уместным.

В вашем примере, метод isDisplayable() возвращает значение в зависимости от типа объекта, что является общепринятой практикой в ООП. Это позволяет объекту самому контролировать свое поведение в соответствии с его состоянием, что может быть удобно и структурированно.

Однако, если в будущем вам понадобится более сложная логика для определения отображения объекта, может быть разумнее вынести эту логику в отдельный класс или сервис. Такой подход делает ваш код более модульным и упрощает его тестирование и поддержку.

Итак, использование методов для хранения значения внутри объекта - это общепринятая практика, но в зависимости от сложности логики и требований вашего приложения, может потребоваться вынести эту логику в отдельный компонент.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир