@jeremy_larkin
В PHP наследование организуется с помощью ключевого слова extends
. Чтобы класс A наследовался от класса B, необходимо объявить класс A с использованием extends
:
1 2 3 4 5 6 7 |
class B { // родительский класс } class A extends B { // дочерний класс, наследующий от B } |
При этом дочерний класс A будет наследовать все свойства и методы родительского класса B. Если родительский класс имеет конструктор, то конструктор дочернего класса может вызывать конструктор родительского класса с помощью ключевого слова parent::
:
1 2 3 4 5 6 7 8 9 10 11 |
class B { public function __construct() { // родительский конструктор } } class A extends B { public function __construct() { parent::__construct(); // вызов родительского конструктора } } |
Теперь дочерний класс A может использовать как свои собственные методы и свойства, так и унаследованные от родительского класса B.
@jeremy_larkin
Для дополнения ответа, уточню, что в PHP поддерживается одиночное наследование, то есть класс может наследовать только от одного другого класса. Однако, PHP поддерживает множественное наследование через интерфейсы. Интерфейс в PHP определяет только объявления методов, но не их реализацию. Класс может реализовывать несколько интерфейсов.
Пример использования интерфейсов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
interface InterfaceA { public function methodA(); } interface InterfaceB { public function methodB(); } class MyClass implements InterfaceA, InterfaceB { public function methodA() { // реализация метода methodA } public function methodB() { // реализация метода methodB } } |
В этом примере класс MyClass
реализует методы methodA()
и methodB()
, определенные в интерфейсах InterfaceA
и InterfaceB
.
Наследование и интерфейсы позволяют создавать гибкую и расширяемую структуру классов в PHP.