Наследование полезно использовать, когда вы расширяете класс, дочерний класс наследует все публичные (public) и защищенные (protected) методы из родительского класса. Эти методы будут иметь исходную функциональность до тех пор, пока не будут переопределены.
Такой подход полезный для абстрагирования функциональности. Позволяет реализовать дополнительную функциональность в похожих объектах без необходимости реализовывать всю общую функциональность.
Чтобы создать наследование от другого класса нужно использовать оператор extends
Пример наследования:
<?php
class FirstClass {
public $var1 = "value1";
protected function func1() {
}
public function func2() {
}
}
class SecondClass extends FirstClass {
public $var2 = "value2";
}
$fc = new FirstClass();
$sc = new SecondClass();
echo $fc->var1; // value1
echo $sc->var1; // value1
$sc->func2(); // работает
echo $sc->var2; // value2
?>
Если мы попытаемся вызвать метод $sc->func1()
, то получим ошибку, из-за того, что метод func1
определен в родительском классе как protected
, он не может быть вызван снаружи.
<?php
$sc->func1(); // не работает, метод защищен (protected)
?>
Если у Вас есть вопросы, жалобы или предложения по работе нашей компании, напишите нам Нам важно любое мнение. Спасибо.