Классы и объекты в ООП PHP
Класс — это шаблон для объектов, который определяет структуру (свойства) и поведение (методы) объекта.
Объект — это отдельный экземпляр класса.
Определение класса
Класс определяется с помощью ключевого слова
class, за которым следует имя класса и пара фигурных скобок ({}). Все его свойства и методы находятся внутри скобок.
Предположим, мы создаем класс с именем Fruit. Класс Fruit может иметь такие свойства, как name и color. Кроме того, класс Fruit имеет два метода для установки и получения деталей:
<?php
class Fruit {
// Свойства
public
$name;
public $color;
// Метод для установки свойств
function
set_details($name, $color) {
$this->name = $name;
$this->color = $color;
}
// Метод для отображения свойств
function get_details() {
echo "Название: " . $this->name . ". Цвет: " . $this->color . ".<br>";
}
}
?>
Примечание: Свойства — это переменные внутри класса, а методы — это функции внутри класса.
Примечание: Ключевое слово this используется внутри метода для обращения к свойствам и методам текущего объекта.
Определение объектов
Классы — это ничто без объектов! Мы можем создавать несколько объектов (экземпляров) из класса. Каждый объект наследует все свойства и методы, определенные в классе, но каждый объект будет иметь свои собственные значения свойств.
Объекты класса создаются с помощью ключевого слова
new.
В примере ниже мы создаем два объекта ($apple и $banana) из класса Fruit:
Пример
<?php
class Fruit {
public
$name;
public $color;
function
set_details($name, $color) {
$this->name = $name;
$this->color = $color;
}
function get_details() {
echo "Название: " . $this->name . ". Цвет: " . $this->color . ".<br>";
}
}
// Создаем объект $apple из класса Fruit
$apple = new Fruit();
$apple->set_details('Яблоко', 'Красный');
// Устанавливаем значения свойств
$apple->get_details(); // Получаем вывод
// Создаем объект $banana из класса Fruit
$banana = new Fruit();
$banana->set_details('Банан', 'Желтый'); // Устанавливаем значения свойств
$banana->get_details();
// Получаем вывод
?>
Попробуйте сами »
PHP - instanceof
Вы можете использовать ключевое слово instanceof для проверки, принадлежит ли объект определенному классу: