Статья

📘 Глава 11. Применение ООП на практике — система пользователей

Теперь применим ООП в практике — создадим простую систему пользователей: обычных и админов. Это уже приближено к реальным проектам.


🧩 Задача

Создать структуру, где:

  • есть базовый класс Пользователь;

  • от него наследуется класс Админ;

  • у каждого есть имя и функция приветствия;

  • у админа — дополнительная возможность (например, удаление пользователя).


🧱 Шаг 1. Базовый класс Пользователь

class Пользователь {
    protected $имя;

    public function __construct($имя) {
        $this->имя = $имя;
    }

    public function приветствие() {
        echo "Привет, я пользователь $this->имя<br>";
    }
}

🛠 Шаг 2. Наследуем Админ

class Админ extends Пользователь {
    public function приветствие() {
        echo "Здравствуйте, я администратор $this->имя<br>";
    }

    public function удалитьПользователя($пользователь) {
        echo "Пользователь {$пользователь->имя()} был удалён<br>";
    }
}

Добавим метод для получения имени (getter):

class Пользователь {
    protected $имя;

    public function __construct($имя) {
        $this->имя = $имя;
    }

    public function имя() {
        return $this->имя;
    }

    public function приветствие() {
        echo "Привет, я пользователь $this->имя<br>";
    }
}

🧪 Шаг 3. Тестируем

$петя = new Пользователь("Петя");
$петя->приветствие();

$admin = new Админ("Ольга");
$admin->приветствие();
$admin->удалитьПользователя($петя);

🔍 Результат:

Привет, я пользователь Петя  
Здравствуйте, я администратор Ольга  
Пользователь Петя был удалён  

🎯 Что мы применили:

  • Классы, объекты

  • Конструкторы

  • Наследование

  • Переопределение методов

  • protected свойства

  • Взаимодействие между объектами

PHP
Для ответа вы можете авторизоваться