Menu
Coddy logo textTech

Классы и объекты

Часть раздела Объектно-ориентированное программирование путешествия по PHP на Coddy — урок 3 из 91.

Классы и объекты служат разным целям. Класс — это чертеж, а объект — это то, что вы создаете по этому чертежу.

Вот пример класса с объявленными свойствами:

<?php
class Dog {
    public $name;
    public $breed;
}

Ключевое слово public означает, что к этим свойствам можно получить доступ извне класса. Мы узнаем больше о public в уроке о свойствах.

Теперь создайте объекты из класса Dog:

$dog1 = new Dog();
$dog2 = new Dog();

Объекты могут иметь индивидуальные значения для своих свойств:

$dog1->name = "Nicky";
$dog1->breed = "Siberian Husky";

$dog2->name = "Teemon";
$dog2->breed = "Shu'ali";

Оператор -> используется для доступа к свойствам объекта.

Выведите данные каждого объекта:

echo $dog1->name . " is a " . $dog1->breed . "\n";
echo $dog2->name . " is a " . $dog2->breed . "\n";

Вывод:

Nicky is a Siberian Husky
Teemon is a Shu'ali

Ключевое отличие: Класс Dog определяет структуру, общую для всех собак, в то время как объекты $dog1 и $dog2 представляют конкретных, отдельных собак с уникальными значениями свойств.

challenge icon

Задание

Легко

Дополните код, чтобы создать два объекта студентов из класса Student и установить их свойства.

  • student.php: Содержит класс Student (заблокирован)
  • driver.php: Создайте объекты и установите их свойства

Установите следующие значения:

  • $student1: имя — "Alice" с оценкой "A"
  • $student2: имя — "Bob" с оценкой "B"

Шпаргалка

Класс — это чертеж, который определяет структуру и поведение объектов, в то время как объект является экземпляром, созданным на основе этого класса.

Определите класс со свойствами, используя ключевое слово public:

<?php
class Dog {
    public $name;
    public $breed;
}

Создавайте объекты из класса, используя ключевое слово new:

$dog1 = new Dog();
$dog2 = new Dog();

Получайте доступ к свойствам объекта и устанавливайте их значения с помощью оператора ->:

$dog1->name = "Nicky";
$dog1->breed = "Siberian Husky";

$dog2->name = "Teemon";
$dog2->breed = "Shu'ali";

Обращайтесь к свойствам, чтобы прочитать их значения:

echo $dog1->name . " is a " . $dog1->breed;

Попробуйте сами

<?php
require_once 'student.php';

// TODO: Создать два объекта студентов


// TODO: Установить свойства для student1 (имя: "Alice", оценка: "A")


// TODO: Установить свойства для student2 (имя: "Bob", оценка: "B")


// Вывести информацию о студентах
echo $student1->name . " has grade " . $student1->grade . "\n";
echo $student2->name . " has grade " . $student2->grade . "\n";
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование