Урок 10. Работа с конструктором класса

Работа с конструктором класса

Класс мы представляли как макет или чертеж. После создания класса на его основе создавался объект. Затем объект заполнялся свойствами. Давайте рассмотрим данный код создания и заполнения нового объекта:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class BigCar
{
    public $name = 'ТАЗ';
    public $weight = 1400;
    public $speed= 160;
 
    function printCar()
    {
        echo $this->name;
        echo $this->weight;
        echo $this->speed;
    }
}
 
$car = new BigCar();
$car2=new BigCar();
 
$car->name = 'Автомобиль';
$car->weight = 1400;
$car->speed = 140;

Заполнение объекта подобным способом не удобна. Мы не имеем представления о количестве свойств, не знаем их тип данных. Как результат возможно не полное, и не правильное заполнение информации в объекте. Также, минусом является большое количество однотипного кода при создании нескольких объектов класса.

Для более удобной работы с заполнением объектов используется конструктор. Конструктор это специальная функция с названием __construct. Обратите внимание, что перед словом construct стоит два подчеркивания.

В качестве параметров конструктору передаются значения аргументов для заполнения свойств объекта. В методе конструктора используется псевдопеременная $this для присвоения значений свойствам объекта.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
class BigCar
{
    public $name = 'ТАЗ';
    public $weight = 1400;
    public $speed= 160;
 
    function printCar()
    {
        echo $this->name;
        echo $this->weight;
        echo $this->speed;
    }
    function __construct($name, $weight, $speed) {
      $this->name=$name;
      $this->weight=$weight;
      $this->speed=$speed;
    }
}
 
$car = new BigCar('Волга', '1900','100');
$car->printCar();
?>

Таким образом, стало значительно проще создавать экземпляры класса. Если при создании экземпляра класса мы укажем меньшее количество аргументов, то получим ошибку Missing argument. Указание большего количества аргументов не создаст проблем.

Выполнить

Задание 1. Создайте класс Iron описывающий бытовой утюг. В качестве свойств укажите вес, наличие функции отпаривания, мощность,изображение, стоимость, название производителя и модель. Добавьте к классу метод вывода информации на монитор. Добавьте функцию конструктор. Внимание, добавьте в результирующий вывод подключение файла style.css. Оформите вывод с помощью классов css .

Название свойств:

  • Producer
  • Model
  • Image
  • Weight
  • Steam
  • Power
  • Cost

Создайте на основе класса два объекта и заполните их информацией с помощью функции конструктора. Пример информации можно взять здесь. Выведите их на экран c помощью встроенного метода.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *