Що таке конструктор в об’єктно-орієнтованому програмуванні

У цій статті ми продовжимо вивчати об'єктно-орієнтоване програмування. У минулій статті ми розповіли: Що таке клас, інкапсуляція, поліморфізм, успадкування. Сьогодні ми дізнаємося: Що таке конструктор в об'єктно-орієнтованому програмуванні і як його використовувати при написанні програм в ООП стилі.

Що таке конструктор

Конструктор в об'єктно-орієнтованому програмуванні - це спеціальний метод, що дозволяє форматувати початковий стан класу при створенні його примірника.

У минулій статті. при розгляді парадигми ООП, ми дізналися, що таке класи і навчилися створювати екземпляри класів.

Що таке конструктор в об'єктно-орієнтованому програмуванні

Давайте освіжимо знання і напишемо простий клас на мові програмування PHP.

Приклад простого класу:

Якщо виконати програму, на моніторі ви побачите назву моделі автомобіля: car


Як я писав у попередній статті. в об'єктно-орієнтованому програмуванні все є об'єктами.

Наш Car - поки ще не дуже функціональний автомобіль. Він не вміє їздити, а знає тільки яка в нього модель $ model, колір $ color, максимальна швидкість $ maxSpeed ​​і поточна швидкість $ currentSpeed.

Створимо ще один автомобіль:

$ SuperCar = new Car ();

Наш superCar нічим не відрізняється від звичайного $ car. І це дуже погано, тому що нашому покупцеві ми пообіцяли продати автомобіль з більш високими характеристиками, ніж минулий автомобіль.

Ми можемо поставити властивості автомобіля після створення екземпляра класу, але це буде виглядати перед покупцем приблизно так: Зараз ми замінимо двигун, перефарбуємо, зачекайте будь ласка годин 20, а ще краще тиждень. Думаю, що покупцеві це не сподобається і він піде з нашого автомобільного салону.

В об'єктно-орієнтованому програмуванні прийнято форматувати змінні при створенні екземпляра класу. Для цього ми скористаємося конструктором.

На мові програмування PHP порожній конструктор виглядає так:

Давайте вбудуємо його в наш клас Car і створимо можливість привласнювати змінним значення, при створенні екземпляра класу:

А зараз створимо відразу два автомобілі і задамо значення властивостей при створенні екземплярів класів:

Як ви бачите, у звичайного автомобіля (клас Car) ми задали модель = car, колір = red, максимальну швидкість = 100, поточну швидкість = 0, а для supercar ми задали поліпшені характеристики при створенні екземпляра класу.

У цій статті ми показали в прикладах на мові програмування PHP, що таке конструктори і як присвоювати значення у змінних при створенні екземплярів класів.

Вступайте в нашу групу VK і слідкуйте за оновленнями.

Доступ до закритого розділу сайту