Въведение в наследството в 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 Overloading