Я все еще учусь в ООП. У меня есть одна проблема, что с помощью частный Ключевое слово, которое используется в 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, оно может нарушить концепцию инкапсуляции «.
Мой вопрос «Должен ли я использовать общественности или же частный ключевое слово в геттер и сеттер? или это основано на требованиях бизнеса?
Если у вас достаточно методов получения и установки для этой переменной, я бы сделал ее конфиденциальной, чтобы быть более безопасной.
Этот вопрос программиста также приводит некоторые другие практические аргументы для использования частных переменных.
К общедоступному члену можно получить доступ извне класса, что по практическим соображениям означает «потенциально где угодно». Если с открытым полем что-то идет не так, виновник может быть где угодно, и поэтому, чтобы отследить ошибку, вам, возможно, придется взглянуть на довольно много кода.
Доступ к закрытому члену, напротив, можно получить только из одного и того же класса, поэтому, если с этим что-то не так, обычно есть только один исходный файл для просмотра. Если в вашем проекте есть миллион строк кода, но ваши классы невелики, это может снизить ваши усилия по отслеживанию ошибок в 1000 раз.
Других решений пока нет …