Введение в ООП
Часть раздела Объектно-ориентированное программирование путешествия по PHP на Coddy — урок 2 из 91.
Объектно-ориентированное программирование (ООП) организует код вокруг объектов, которые содержат данные (свойства) и функции (методы).
Создайте файл с именем car.php с классом
<?php
class Car {
// пустое тело класса
}Создайте еще один файл с названием driver.php для использования класса
<?php
require_once 'car.php';Создайте объект класса Car, используя ключевое слово new
$myCar = new Car();Проверьте класс вашего объекта
echo get_class($myCar);Вывод:
CarЭто подтверждает, что вы успешно создали объект из вашего класса Car. В ООП класс подобен чертежу, а объект — это то, что вы строите по этому чертежу. Ключевое слово new создает новый экземпляр класса.
Задание
СреднеВ этом испытании вы будете использовать класс Car, определенный в car.php, и создадите объект на его основе в driver.php.
Вам нужно обновить driver.php:
- Создайте объект класса
Car, используя ключевое словоnew, и сохраните его в$myCar
Файл драйвера выведет имя класса для проверки вашей реализации.
Шпаргалка
Объектно-ориентированное программирование (ООП) организует код вокруг объектов, которые содержат данные (свойства) и функции (методы).
Определение класса:
<?php
class Car {
// пустое тело класса
}Подключение файла класса в другой файл:
<?php
require_once 'car.php';Создание объекта из класса с использованием ключевого слова new:
$myCar = new Car();Проверка класса объекта:
echo get_class($myCar); // Результат: CarКласс подобен чертежу, а объект — это экземпляр, созданный по этому чертежу.
Попробуйте сами
<?php
require_once 'car.php';
// TODO: Создайте объект класса Car
$myCar = ?;
// Выведите класс объекта $myCar
echo get_class($myCar) . "\n";
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Объектно-ориентированное программирование
1Основы ООП
Внешние файлыВведение в ООПКлассы и объектыКлючевое слово $thisМетодыСвойстваКонструктор (__construct)Деструктор (__destruct)Итоги — Простой калькулятор4Наследование
Основы наследованияКлючевое слово parent::Переопределение методовКлючевое слово finalАбстрактные классыИтоги — Иерархия сотрудников7Инкапсуляция
Public, Protected, PrivateПодробный разбор модификаторов доступаГеттеры и сеттерыСокрытие данныхConstructor Promotion (8.0)Итоги — Система учета студентов10Продвинутые концепции ООП
Композиция против наследованияВнедрение зависимостейАнонимные классыПеречисления (PHP 8.1)Файберы (PHP 8.1)Глубокое погружение в клонирование объектовГенераторы и итераторы13Паттерны проектирования. Часть 2
Паттерн КомандаПаттерн АдаптерПаттерн ДекораторПаттерн Шаблонный методПаттерн СостояниеПаттерн КомпоновщикПаттерн Репозиторий2Пространства имен и автозагрузка
Введение в пространства именКлючевое слово useСтандарт автозагрузки PSR-4Автозагрузчик ComposerИтоги: структурированный проект5Интерфейсы и контракты
Введение в интерфейсыРеализация интерфейсовРеализация нескольких интерфейсовИнтерфейс против абстрактного классаType Hinting с интерфейсамиИтоги — Калькулятор фигур8Магические методы
Введение в магические методы__toString и __debugInfo__get, __set, __isset, __unset__call и __callStatic__clone и клонирование объектов__serialize и __unserializeИтоги — Кастомная коллекция11Система типов и обработка ошибок
Объявление типовNullable-типыТипы объединения и пересеченияКлассы исключенийИерархия пользовательских исключенийTry, Catch, FinallyИтоги — Валидатор форм14Проект: Управление библиотекой
Обзор проектаКлассы Book и User3Свойства классов
Свойства экземпляра и статические свойстваКонстанты в классахСтатические методы и свойстваПриватные и защищенные свойстваСвойства Readonly (PHP 8.1)Итоги — Менеджер банковского счета6Полиморфизм
Снова о переопределении методовПолиморфизм через интерфейсыType Hinting и Union TypesПозднее статическое связываниеИтоги — Payment Processor9Трейты
Введение в трейтыИспользование нескольких трейтовРазрешение конфликтов трейтовАбстрактные методы в трейтахТрейты и наследование12Паттерны проектирования. Часть 1
Введение в паттерны проектированияПаттерн SingletonПаттерн FactoryПаттерн ObserverПаттерн Strategy