@EvgeniiR
https://github.com/EvgeniiR

Публичная переменная, или приватная с public методами get() и set(), в чём преимущества?

Какие преимущества такой код:
private $currentSum;

public function getCurrentSum(): ?int
    {
        return $this->currentSum;
    }

    public function setCurrentSum(int $currentSum): self
    {
        $this->currentSum = $currentSum;

        return $this;
    }


Вместо
public $currentSum; ?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
DevMan
@DevMan
в уверенности, что кто-то случайно в своём коде не переопределит эту переменную.
Ответ написан
Комментировать
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
В случае с геттерами и сеттерами можно при при возврате или установке значения производить определённые действия. Например в вашем случае, можно производить проверку, не пытаются ли установить в качестве значения отрицательное чисто (если это сумма заказа, например).

upd. Или, например, очень часто цену хранят в копейках и все операции производят в копейках. А при получении значения суммы вы можете возвращать её в рублях. Короче примеров можно придумать - массу!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы