Назад к вопросам
Junior
89
questionbank

Что такое расширение (extend) в контексте PHP?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Расширение, или наследование, в PHP — это механизм, позволяющий одному классу (дочернему или классу-наследнику) перенимать свойства и методы другого класса (родительского или базового).

Ключевое слово extends используется для указания родительского класса.

Преимущества наследования:

  • Повторное использование кода: Нет необходимости писать один и тот же код несколько раз.
  • Расширяемость: Дочерний класс может добавлять новые свойства и методы, или переопределять существующие из родительского класса.
  • Полиморфизм: Объекты разных классов могут обрабатываться как объекты общего родительского класса.

Пример:

<?php

class Animal {
    public function eat() {
        echo "Животное ест.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "Собака лает.";
    }
}

$dog = new Dog();
$dog->eat(); // Вызов метода из родительского класса
$dog->bark(); // Вызов метода из дочернего класса

?>

Дочерний класс не наследует:

  • Приватные свойства и методы (хотя они существуют в объекте, их нельзя напрямую вызвать из дочернего класса).
  • Конструктор родительского класса автоматически не вызывается при создании объекта дочернего класса, если не указано явно с помощью parent::__construct().