Увод у наслеђивање у ПХП-у

Насљеђивање је начин проширења постојеће класе функционалности у новоствореној класи. Новој креираној класи можемо додати и неке додатне функционалности, осим што проширујемо функционалност основне класе. Када наследимо једну класу, кажемо да је наследна класа дечија класа (подкласа) и од које је наследимо назива се родитељска класа. Родитељска класа је такође позната и као основна класа. На тај начин се омогућава боље управљање програмским кодом и поновна употреба кода. Идеја кориштења насљеђивања састоји се у бољем управљању кодом и поновном употребом кода. У овој теми ћемо сазнати о наслеђивању у ПХП-у.

Врсте наслеђивања у ПХП-у

ПХП подржава разне врсте насљеђивања попут ЈАВА. Доња табела приказује листу врста наслеђивања и статус подршке у ПХП-у.

Тип наследстваПодршка у ПХП-у
Једно наслеђивањеДА
Наслеђивање на више нивоаДА
Хијерархијско наслеђивањеДА
Вишеструко наслеђивањеНЕ

1. Појединачно наслеђивање

ПХП подржава појединачно насљеђивање. Појединачно насљеђивање је концепт у ПХП-у у којем једна класа може наслиједити само једну класу. Морамо имати две класе између овог процеса. Једна је основна класа (родитељска класа), а друга дечија класа. Да разумемо исто са примером. Популарно је познато као једноставно наслеђивање. Ова врста насљеђивања на ПХП језику остаје иста као и ЈАВА, Ц ++, итд.

Шифра:

<_?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();
?>

МиАццесс је родитељ, а дете је име дечије класе.

Излаз:

2. Наслеђивање на више нивоа

ПХП подржава мултилевел наследство. Код ове врсте наслеђивања имаћемо више од 2 часа. Код ове врсте наслеђивања, матична класа ће наследити дечију класу, а затим дечју класу. Ова врста насљеђивања на ПХП језику остаје иста као и Ц ++ итд.

Шифра:

<_?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
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();
?>

Излаз:

Имамо једну родитељску класу која се зове ПарентЦласс и две дечије класе цхилд_1 и цхилд_2 респективно. Дани сценарио наслеђивања назива се хијерархијско наслеђивање.

Значај наслеђивања у ПХП-у

Важност наслеђа је много више, јер долази до огромних предности с њим.

  • Поновна употреба кода једна је од најчешће коришћених у наслеђивању, основна класа остаје онаква каква је између процеса. Као што видимо у горњем примеру целокупног наследства, код се поново користи из једне класе у другу. Не треба од нас да понављамо исту ствар поново и поново.
  • Базна класа се може користити у већем броју изведених класа у хијерархији класа. Да, ово је врста наслеђивања код које можемо ићи на продужење у матичној класи са вишеструким наслеђивањем.
  • Проширеност је једна од предности наслеђивања помоћу које можемо проширити карактеристику основне класе без мало или никаквих промена да бисмо испунили пословне захтеве. Претпоставимо у почетку да само идемо са родитељском класом само без класе детета. Али у случају потреба, можемо додати дечију класу да бисмо касније испунили наше пословне потребе.
  • Поништавање је још једна предност ове карактеристике наслеђивања у којој можемо преписати дефиницију функције основне класе у изведену класу да бисмо извршили измене у складу са пословним захтевима.
  • Мања количина кода - у међувремену ћемо имати мање кода компаративно док напредујемо са насљеђивањем у односу на традиционални начин кодирања.
  • Наслеђивање је такође омогућило и скривање података. Једини потребни део родитељске класе можемо изложити дечијој класи користећи различите ПХП приступне модификаторе.
  • Потпуно подржавајте МВЦ - можемо ићи за МВЦ користећи концепт наследства.

Закључак

Наслеђе би требало да искористимо да бисмо испунили наше пословање, јер има неке додатне предности у поређењу са уобичајеним кодом. Требало би да водимо рачуна о сигурности података док се бавимо наследством. Можемо користити модификатор приступа као приватни, заштићени да бисмо се бавили скривањем података и сигурношћу података. ПХП не подржава више насљеђивања.

Препоручени чланци

Ово је водич за наслеђивање у ПХП-у. Овде смо расправљали о типовима наследства у ПХП-у, тј. Једносмерном, вишеслојном, хијерархијском са одговарајућим узорком кода. Такође можете погледати следећи чланак да бисте сазнали више -

  1. Сесије у ПХП-у
  2. ПХП Цомпилер
  3. ПХП база података
  4. Преоптерећење у ПХП-у
  5. Питхон Оверлоадинг

Категорија: