Работа со свойствами объектов

Сейчас мы с вами научимся работать с объектами и их свойствами на более практическом примере.

Давайте сделаем класс User, который будет описывать пользователя (юзера) нашего сайта. Пусть у нашего пользователя будет два свойства: имя и возраст.

Давайте напишем код класса User:

<?php class User { public $name; // свойство для имени public $age; // свойство для возраста } ?>

Пока наш класс ничего не делает - он просто описывает, что будут иметь объекты этого класса (в нашем случае каждый объект будет иметь имя и возраст). По сути, пока мы не не создадим хотя бы один нашего класса - ничего полезного не произойдет.

Давайте же сделаем наш первый объект - представитель класса User:

<?php // Объявляем класс: class User { public $name; public $age; } // Создаем объект нашего класса: $user = new User; ?>

Обратите внимание на то, что классы принято называть большими буквами: User, а объекты этих классов - маленькими: $user. Кроме того, можно писать new User, а можно - new User() - разницы нет.

Давайте теперь что-нибудь запишем в свойства нашего объекта, а потом выведем эти данные на экран:

<?php class User { public $name; public $age; } $user = new User; // создаем объект нашего класса $user->name = 'Коля'; // записываем имя в свойство name $user->age = 25; // записываем возраст в свойство age echo $user->name; // выводим записанное имя echo $user->age; // выводим записанный возраст ?>

Как вы уже поняли - в свойства объекта можно что-то записывать и из свойств можно выводить их содержимое. Давайте теперь сделаем 2 объекта-юзера: 'Коля' и 'Вася', заполним их данными и выведем на экран сумму их возрастов:

<?php class User { public $name; public $age; } // Первый объект $user1 = new User; // создаем первый объект $user1->name = 'Коля'; // записываем имя $user1->age = 25; // записываем возраст // Второй объект $user2 = new User; // создаем второй объект $user2->name = 'Вася'; // записываем имя $user2->age = 30; // записываем возраст // Найдем сумму возрастов: echo $user1->age + $user2->age; // выведет 55 ?>

То, что мы сейчас сделали - очень важно: мы создали чертеж объекта (то есть класс в терминах ООП) и на основе этого чертежа можем сделать столько объектов, сколько нам нужно.

Сделайте класс Employee (работник), в котором будут следующие свойства - name (имя), age (возраст), salary (зарплата).

Создайте объект класса Employee, затем установите его свойства в следующие значения - имя 'Иван', возраст 25, зарплата 1000.

Создайте второй объект класса Employee, установите его свойства в следующие значения - имя 'Вася', возраст 26, зарплата 2000.

Выведите на экран сумму зарплат Ивана и Васи.

Выведите на экран сумму возрастов Ивана и Васи.