Roman Avr

В чем смысл такой конструкции? Понимаю, зачем нужен конструктор, а зачем приватное свойство name использовать в конструкторе, не доходит.

private $name;
public function __counstruct($name) {
    $this->name=$name
}

3 0

Свойства в принципе делают приватными и обращаются к ним только посредством сеттеров/геттеров или конструктора.

0

А какой смысл создавать приватное свойство, чтобы его потом делать публичным? То бишь в данном примере, конструктор являются инструментом, который превращает некогда приватное свойство, в публичное?

0

Оно не публичное, его изменение контролируется интерфейсом класса. Таким образом класс, как тип данных, может контролировать выполнимость своих инвариантов. Что в свою очередь является необходимым условием для достижения корректности рабочего кода.

0

Похожие вопросы

Максим Торбург 24 мая 2018 →

Странно, но без проверки на пустоту массива в каунт и тотале решение не проходит. Добавляя эти проверки, в...

Sergey Erofeev 02 ноября 2017 →

Пишу: $cart = new Cart(); $cart->add(new Item(1, "milk", 250)); $cart->add(new \Item(1, "milk", 250)); Ошиб...

Eugene Kalinowski 15 сентября 2017 →

Пожалуйста, исправьте удаление всего содержимого файла при нажатии ctrl+z, правда надоедает писать одно и т...

Nikita Baranovsky 22 июня 2017 →

Вопрос. Почему в данном коде: public function add(Item $item) { $this->items[] = $item; } мы испо...

Евгений Кожин 21 июня 2017 →

насколько корректно реализовывать remove через foreach ?

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →