Что такое конструктор
Конструктор в объектно-ориентированном программировании - это специальный метод, позволяющий инициализировать начальное состояние класса при создании его экземпляра.
В прошлой статье, при рассмотрении парадигмы ООП, мы узнали, что такое классы и научились создавать экземпляры классов.

Давайте освежим знания и напишем простой класс на языке программирования PHP.
Пример простого класса:
// Это класс Car
class Car {
public $model = "car";
public $color = "red";
public $maxSpeed = 30;
public $currentSpeed = 0;
}
// Так создается экземпляр класс Car
$car = new Car();
// Выведем значение $model
echo $car->model;
Если выполнить программу, на мониторе вы увидите название модели автомобиля: car
Как я писал в предыдущей статье, в объектно-ориентированном программировании все является объектами.
Наш Car - пока еще не очень функциональный автомобиль. Он не умеет ездить, а знает только какая у него модель $model, цвет $color, максимальная скорость $maxSpeed и текущая скорость $currentSpeed.
Создадим еще один автомобиль:
$superCar = new Car();
Наш superCar ничем не отличается от обычного $car. И это очень плохо, так как нашему покупателю мы пообещали продать автомобиль с более высокими характеристиками, чем прошлый автомобиль.
Мы можем задать свойства автомобиля после создания экземпляра класса, но это будет выглядеть перед покупателем примерно так: Сейчас мы заменим двигатель, перекрасим, подождите пожалуйста часов 20, а еще лучше недельку. Думаю, что покупателю это не понравится и он уйдет из нашего автомобильного салона.
В объектно-ориентированном программировании принято инициализировать переменные при создании экземпляра класса. Для этого мы воспользуемся конструктором.
На языке программирования PHP пустой конструктор выглядит так:
public function __construct() {
}
Давайте встроим его в наш класс Car и создадим возможность присваивать переменным значения, при создании экземпляра класса:
class Car {
public $model;
public $color;
public $maxSpeed;
public $currentSpeed;
public function __construct($model, $color, $maxSpeed, $currentSpeed) {
$this->model = $model;
$this->color = $color;
$this->maxSpeed = $maxSpeed;
$this->currentSpeed = $currentSpeed;
}
}
А сейчас создадим сразу два автомобиля и зададим значения свойств при создании экземпляров классов:
$car = new Car("car", "red", "100", "0");
$superCar = new Car("supercar", "green", "400", "0");
echo $car->model;
echo $superCar->model;
Как вы видите, у обычного автомобиля (класс Car) мы задали модель = car, цвет = red, максимальную скорость = 100, текущую скорость = 0, а для supercar мы задали улучшенные характеристики при создании экземпляра класса.
Выводы
В этой статье мы показали в примерах на языке программирования PHP, что такое конструкторы и как присваивать значения у переменных при создании экземпляров классов.
В следующих статьях мы разберем важные методы ООП программирования - геттеры и сеттеры, расскажем что такое public, static, private, protected.
Вступайте в нашу группу VK и следите за обновлениями.
Читайте также
Все материалы с сайта wh-db.com и ru.wh-db.com защищены авторским правом. Копирование, публикация, продажа и распространение материала строго запрещены.