Вступ у спадщину в 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 - це батько, а дитина - це ім'я дочірнього класу.

Вихід:

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, використовуючи концепцію спадкування.

Висновок

Нам слід використовувати спадщину для здійснення нашого бізнесу, оскільки це має деякі додаткові переваги порівняно зі звичайним кодом. Ми повинні дбати про безпеку даних, займаючись спадщиною. Ми можемо використовувати модифікатор доступу, як приватний, захищений для роботи з приховуванням даних та безпекою даних. PHP не підтримує багатократне успадкування.

Рекомендовані статті

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

  1. Сесії в PHP
  2. PHP-компілятор
  3. Підключення до бази даних PHP
  4. Перевантаження в PHP
  5. Перевантаження Python