Наследование
Повторно используйте код и расширяйте функциональность с помощью наследования
«Наследование» — бесплатный урок PHP Academy на CoddyKit. Это урок 3 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 5 уроков всего.
Наследование в PHP
Наследование в PHP
Добро пожаловать на следующий урок! На этом уроке Вы узнаете о наследовании — одной из ключевых концепций объектно-ориентированного программирования (ООП), которая позволяет расширять функциональность класса. Начнём!

Что такое наследование
Что такое наследование
Наследование — это механизм в ООП, который позволяет одному классу (дочернему классу) наследовать свойства и методы другого класса (родительского класса). Это способствует повторному использованию кода и формированию иерархии в программировании.
Пример: Класс Car может быть родительским для классов Sedan и SUV.
Определение наследования
Определение наследования
Используйте ключевое слово extends, чтобы создать дочерний класс, наследующий свойства и методы родительского класса. Пример:
Совет: Используйте наследование, чтобы не дублировать код.
<h2>Defining Inheritance</h2>
<p>Use the <code>extends</code> keyword to create a child class that inherits from a parent class. Example:</p>
Переопределение методов
Переопределение методов
Дочерние классы могут переопределять методы родительского класса, чтобы реализовать определённую функциональность. Пример:
<?php
class Vehicle {
public function drive() {
echo "Driving a generic vehicle.";
}
}
class Car extends Vehicle {
public function drive() {
echo "Driving a car.";
}
}
$car = new Car();
$car->drive(); // Outputs: Driving a car.
?>
Ключевое слово родительского класса
Ключевое слово родительского класса
Используйте ключевое слово parent, чтобы вызвать метод родительского класса внутри переопределённого метода. Пример:
<?php
class Vehicle {
public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
public function start() {
parent::start();
echo " Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the vehicle. Starting the car engine.
?>
Преимущества наследования
Преимущества наследования
Наследование даёт следующие преимущества:
- Способствует повторному использованию кода.
- Создаёт понятную иерархию классов.
- Обеспечивает полиморфизм, позволяя дочерним классам переопределять методы.
Защищённые члены
Защищённые члены
Наследование также работает с защищёнными членами. Защищённые свойства и методы доступны дочерним классам, но недоступны за пределами иерархии классов. Пример:
Важно: Используйте protected, чтобы безопасно предоставлять общий доступ к членам родительского и дочернего классов.
<?php
class Vehicle {
protected $fuel;
public function setFuel($fuel) {
$this->fuel = $fuel;
}
}
class Car extends Vehicle {
public function getFuel() {
return $this->fuel;
}
}
$car = new Car();
$car->setFuel("Gasoline");
echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>
Абстрактные классы
Абстрактные классы
Абстрактный класс предоставляет базовую структуру для дочерних классов, но сам не может быть создан как экземпляр. Пример:
Важно: Используйте абстрактные классы, когда хотите обязать дочерние классы реализовать определённые методы.
<?php
abstract class Vehicle {
abstract public function start();
}
class Car extends Vehicle {
public function start() {
echo "Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the car engine.
?>
Ключевое слово для запрета наследования
Ключевое слово для запрета наследования
Ключевое слово final запрещает дальнейшее наследование или переопределение. Пример:
Совет: Используйте final, чтобы защитить методы или классы от расширения.
<?php
class Vehicle {
final public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
// Cannot override the start method
}
?>
Отличная работа!
Отличная работа!
Поздравляем! Вы узнали о наследовании в PHP, в том числе о расширении классов, переопределении методов и использовании абстрактных классов. В следующем уроке мы рассмотрим инкапсуляцию и модификаторы доступа. Продолжим писать код!

Часто задаваемые вопросы
Урок «Наследование» бесплатный?
Да — полный текст урока «Наследование» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 5 уроков всего.
Чему я научусь в уроке «Наследование»?
Повторно используйте код и расширяйте функциональность с помощью наследования Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 5.
Сколько времени занимает урок «Наследование»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в ООП в PHP
- Определение классов и объектов
- Наследование
- Инкапсуляция и модификаторы доступа
- Полиморфизм