Введение в Наследование в PHP

Наследование - это способ расширения функциональности существующего класса во вновь созданном классе. Мы также можем добавить некоторые дополнительные функции во вновь созданный класс, помимо расширения функциональных возможностей базового класса. Когда мы наследуем один класс, мы говорим, что унаследованный класс является дочерним классом (подклассом) и от которого мы наследуем, называется родительским классом. Родительский класс также известен как базовый класс. Это способ улучшить управление программным кодом и его повторное использование. Идея использования наследования заключается в улучшении управления кодом и возможности его повторного использования. В этой теме мы собираемся узнать о наследовании в PHP.

Типы наследования в PHP

PHP поддерживает различные типы наследования, такие как JAVA. В приведенной ниже таблице показан список типов наследования и статус поддержки в PHP.

Тип наследованияПоддержка в PHP
Одиночное наследованиеДА
Многоуровневое наследованиеДА
Иерархическое наследованиеДА
Множественное наследованиеНЕТ

1. Одиночное наследование

PHP поддерживает одиночное наследование. Одиночное наследование - это концепция в PHP, в которой один класс может наследоваться только одним классом. Нам нужно иметь два класса между этими процессами. Один - это базовый класс (родительский класс), а другой - сам дочерний класс. Давайте разберемся с примером. Он широко известен как простое наследование. Этот тип наследования в языке PHP остается таким же, как в JAVA, C ++ и т. Д.

Код:

<_?php
class MyAccess (
var $var = "This is first var";
protected $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child extends MyAccess (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo $this->fist_name;
)
)
$obj1 = new child();
$obj1->setVal("Jai Shre");
$obj1->getVal();
?>

MyAccess - это родитель, а child - это имя дочернего класса.

Выход:

2. Многоуровневое наследование

PHP поддерживает многоуровневое наследование. В этом типе наследования у нас будет более 2 классов. В этом типе наследования родительский класс будет наследоваться дочерним классом, тогда этот дочерний класс будет наследоваться дочерним классом. Этот тип наследования в языке PHP остается таким же, как C ++ и т. Д.

Код:

<_?php
class ParentClass (
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child_1 extends ParentClass (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo "Extended By Parent Class -". $this->fist_name;
)
)
class child_2 extends child_1 (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo "Extended By child 1 - ".$this->fist_name;
)
)
$obj1 = new child_1();
$obj1->setVal("This is first inherited class");
$obj1->getVal();
echo "
";
$obj2 = new child_2();
$obj2->setVal("This is second inherited class");
$obj2->getVal();
?>

Выход:

3. Иерархическое наследование

PHP поддерживает иерархическое наследование. Иерархическое наследование - это тип наследования, в котором программа состоит из одного родителя и нескольких дочерних классов. Давайте поймем то же самое с этим примером. Этот тип наследования в языке PHP остается таким же, как в JAVA, C ++ и т. Д.

Код:

<_?php
class ParentClass (
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child_1 extends ParentClass (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo $this->fist_name;
)
)
class child_2 extends ParentClass (
function setVal($set_this)(
$this->fist_name = $set_this." - ".$set_this;;
)
function getVal()(
echo $this->fist_name;
)
)
$obj1 = new child_1();
$obj1->setVal("This is first child class");
$obj1->getVal();
echo "
";
$obj2 = new child_2();
$obj2->setVal("This is second child class");
$obj2->getVal();
?>

Выход:

У нас есть один родительский класс с именем ParentClass и два дочерних класса child_1 и child_2 соответственно. Данный сценарий наследования называется иерархическим наследованием.

Важность наследования в PHP

Важность наследования намного больше, поскольку оно дает огромные преимущества.

  • Повторное использование кода является одним из наиболее часто используемых в наследовании, базовый класс остается таким же, как и между процессами. Как видно из приведенного выше примера всего наследования, код повторно используется из одного класса в другой. Нам не нужно переписывать одно и то же снова и снова.
  • Базовый класс может использоваться рядом его производных классов в иерархии классов. Да, это тип наследования, в котором мы можем перейти к расширению в родительском классе с несколькими наследованиями.
  • Расширяемость - это одно из преимуществ наследования, в котором мы можем расширять функцию базового класса, не внося незначительных изменений или не внося никаких изменений для удовлетворения бизнес-требований. Предположим, что в начале мы собираемся использовать только родительский класс без дочернего класса. Но в случае необходимости мы можем добавить дочерний класс, чтобы впоследствии удовлетворить наши бизнес-потребности.
  • Переопределение является еще одним преимуществом этой функции наследования, в которой мы можем переписать определение функции базового класса в производный класс для внесения изменений в соответствии с требованиями бизнеса.
  • Меньшее количество кода - тем временем у нас будет меньше кода для сравнения при продвижении с наследованием по сравнению с традиционным способом кодирования.
  • Наследование также позволило скрыть данные. Мы можем предоставить единственную обязательную часть родительского класса дочернему классу, используя различные модификаторы доступа PHP.
  • Полностью поддерживает MVC - мы можем перейти на MVC, используя концепцию наследования.

Вывод

Мы должны использовать наследование для выполнения нашего бизнеса, поскольку оно дает некоторые дополнительные преимущества по сравнению с обычным кодом. Мы должны заботиться о безопасности данных, имея дело с наследованием. Мы можем использовать модификатор доступа, например private, protected для защиты от скрытия и защиты данных. PHP не поддерживает множественное наследование.

Рекомендуемые статьи

Это руководство по наследованию в PHP. Здесь мы обсуждаем типы наследования в PHP, то есть одноуровневое, многоуровневое, иерархическое с соответствующим примером кода. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Сессии в PHP
  2. PHP компилятор
  3. Соединение с базой данных PHP
  4. Перегрузка в PHP
  5. Перегрузка Python