Должен ли я использовать частное ключевое слово или публичное ключевое слово в getter / setter?

Я все еще учусь в ООП. У меня есть одна проблема, что с помощью частный Ключевое слово, которое используется в Getter и Setter. Основываясь на моем понимании частный Ключевое слово, он не может получить доступ извне класса. Вот фрагмент этой копии из книги!

<?php
//GetSet.php
class GetSet
{
private $dataWarehouse;
function __construct()
{
$this->setter(200);
$got= $this->getter();
echo $got;
}

private function getter()
{
return $this->dataWarehouse;
}

private function setter($setValue)
{
$this->dataWarehouse=$setValue;
}
}

$worker=new GetSet();

?>

Но я видел много этого, используя общественности Ключевое слово в Getter и Setter. Итак, в книге сказано, что «если мы используем общественности ключевое слово в Getter и Setter, оно может нарушить концепцию инкапсуляции «.

Мой вопрос «Должен ли я использовать общественности или же частный ключевое слово в геттер и сеттер? или это основано на требованиях бизнеса?

-1

Решение

Если у вас достаточно методов получения и установки для этой переменной, я бы сделал ее конфиденциальной, чтобы быть более безопасной.

Этот вопрос программиста также приводит некоторые другие практические аргументы для использования частных переменных.

К общедоступному члену можно получить доступ извне класса, что по практическим соображениям означает «потенциально где угодно». Если с открытым полем что-то идет не так, виновник может быть где угодно, и поэтому, чтобы отследить ошибку, вам, возможно, придется взглянуть на довольно много кода.

Доступ к закрытому члену, напротив, можно получить только из одного и того же класса, поэтому, если с этим что-то не так, обычно есть только один исходный файл для просмотра. Если в вашем проекте есть миллион строк кода, но ваши классы невелики, это может снизить ваши усилия по отслеживанию ошибок в 1000 раз.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]