Я все еще участвую в ООП. У меня есть одна проблема: использование ключевого слова, использующего в Getter и Setter. Основываясь на моем понимании о закрытом ключевом слове, он не может получить доступ извне класса. Вот фрагмент, который копирует из книги!Должен ли я использовать ключевое слово private или ключевое слово public в 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. Таким образом, в книге говорилось, что «если мы используем ключевое слово public в Getter и Setter, это может сломать концепцию инкапсуляции».
Мой вопрос «Должен ли я использовать общественного или личное ключевое слово в Getter и Setter? Или это основано на бизнес-требования?».
Поскольку ваши функции getter и setter являются закрытыми, они не могут быть вызванным извне. Вероятно, поэтому вы не получаете выход. Однако эти функции могут быть частными в различных случаях, например. если есть общедоступная функция «сохранить», которая затем вызывает функцию private setter. – Paul
Это зависит от того, для чего вы хотите его использовать. Если вы хотите использовать сеттер из-за пределов своего класса, частные не подходят. –
Спасибо @Paul и Félix Gagnon-Grenier. Я ясно понимаю это. –