Урок 9

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

15 мин

Объектно-ориентированное программирование (ООП) — это способ организации кода, где данные и функции объединяются в объекты. Это как в реальном мире: у машины есть свойства (цвет, марка) и действия (ехать, тормозить).

Зачем нужно ООП?

Представьте интернет-магазин без ООП:

$product1_name = "iPhone";
$product1_price = 99990;
$product2_name = "MacBook";
$product2_price = 149990;
// ... и так для каждого товара

С ООП всё организованно:

  • Класс — это чертёж/шаблон (например, "Товар")
  • Объект — конкретный экземпляр по этому чертежу (iPhone, MacBook)
  • Свойства — данные объекта (название, цена)
  • Методы — действия объекта (показать цену, добавить в корзину)

Создание класса

Класс создаётся ключевым словом class. Имя класса принято писать с большой буквы:

Ключевые моменты:

  • new User() — создаёт новый объект
  • -> — оператор доступа к свойствам и методам объекта
  • $this — внутри класса означает "этот объект"

Конструктор — инициализация объекта

Конструктор __construct() — это специальный метод, который автоматически вызывается при создании объекта. Используется для начальной настройки:

PHP 8+ упрощение: Можно объявить свойства прямо в конструкторе:
public function __construct(public string $name, public float $price) {}

Модификаторы доступа (инкапсуляция)

Инкапсуляция — это сокрытие внутренней реализации. Модификаторы определяют, кто может обращаться к свойствам и методам:

МодификаторДоступКогда использовать
publicВездеДля интерфейса класса
protectedВ классе и потомкахДля наследования
privateТолько в этом классеДля внутренних данных

Сокращённый синтаксис (PHP 8)

Совет: Используйте private для внутренних данных и предоставляйте публичные методы для работы с ними. Это называется инкапсуляция.

Мы используем файлы cookie для улучшения работы сайта и персонализации контента. Продолжая использовать сайт, вы соглашаетесь с использованием cookies в соответствии с нашей Политикой конфиденциальности.