Uvod v dedovanje v PHP

Dedovanje je način razširitve obstoječe funkcionalnosti razreda v novo ustvarjenem razredu. V novo ustvarjeni razred lahko poleg razširitve funkcionalnosti osnovnega razreda dodamo še nekaj dodatnih funkcionalnosti. Ko podedujemo en razred, rečemo, da je podedovani razred otroški razred (podrazred) in iz katerega podedujemo, se imenuje nadrejeni razred. Matični razred je znan tudi kot osnovni razred. To omogoča boljše upravljanje programske kode in ponovne uporabe kode. Ideja za uporabo dedovanja je namenjena boljšemu upravljanju kode in ponovni uporabi kode. V tej temi bomo spoznali dedovanje v PHP.

Vrste dedovanja v PHP

PHP podpira različne vrste dedovanja, kot je JAVA. Spodnja tabela prikazuje seznam vrst dedovanja in podporni status v PHP.

Vrsta dedovanjaPodpora v PHP
Enkratna dednostDA
Večstopenjsko dedovanjeDA
Hierarhična dediščinaDA
Večkratna dednostNE

1. Enojno dedovanje

PHP podpira enotno dedovanje. Enotno dedovanje je pojem v PHP, v katerem lahko en razred podeduje samo en razred. Med tem postopkom moramo imeti dva razreda. Eden je osnovni razred (matični razred), drugi pa sam otroški razred. Razložimo enako s primerom. V javnosti je znano kot preprosto dedovanje. Ta vrsta dedovanja v jeziku PHP ostaja enaka kot JAVA, C ++ itd.

Koda:

<_?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 je starš in otrok je ime otroškega razreda.

Izhod:

2. Večni nivo dedovanja

PHP podpira večstopenjsko dedovanje. Pri tej vrsti dedovanja bomo imeli več kot 2 razreda. Pri tej vrsti dedovanja bo nadrejeni razred podedoval otroški razred, nato pa bo otroški razred podedoval otroški razred. Ta vrsta dedovanja v jeziku PHP ostaja enaka kot C ++ itd.

Koda:

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

Izhod:

3. Hierarhična dednost

PHP podpira hierarhično dedovanje. Hierarhično dedovanje je vrsta dedovanja, pri kateri program sestoji iz enega starša in več kot enega otroškega razreda. Razložimo enako s tem primerom. Ta vrsta dedovanja v jeziku PHP ostaja enaka kot JAVA, C ++ itd.

Koda:

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

Izhod:

Imamo en nadrejeni razred z imenom ParentClass in dva otroška razreda otrok_1 in otrok_2. Dani scenarij dedovanja se imenuje hierarhično dedovanje.

Pomen dedovanja v PHP

Pomen dedovanja je še veliko več, saj ima z njim ogromne prednosti.

  • Ponovna uporabnost kode je ena najpogosteje uporabljenih pri dedovanju, osnovni razred ostaja takšen, kot je med postopkom. Kot lahko vidimo v zgornjem primeru vseh dedovanja, se koda ponovno uporablja iz enega razreda v drugega. Ni treba, da vedno znova pišemo isto stvar.
  • Osnovni razred lahko uporabljajo številni izpeljani razredi v hierarhiji razredov. Da, to je vrsta dedovanja, pri kateri gremo lahko za razširitev v matičnem razredu z več dedovanji.
  • Razširljivost je ena od prednosti dedovanja, s katero lahko razširimo funkcijo osnovnega razreda, ne da bi pri izpolnjevanju poslovnih zahtev spremenili malo ali nič. Recimo, da na začetku gremo le z matičnim razredom samo brez otroškega razreda. V primeru potrebe pa lahko kasneje dodamo otroški razred, s katerim bomo pozneje izpolnili svoje poslovne potrebe.
  • Prevladovanje je še ena prednost te lastnosti dedovanja, s katero lahko v izpeljani razred vnesemo definicijo funkcije osnovnega razreda, da spremenimo zahteve glede na poslovne zahteve.
  • Manjša količina kode - v tem času bomo imeli manj kode, ko bomo nadaljevali dedovanje v primerjavi s tradicionalnim načinom kodiranja.
  • Dedovanje je omogočilo tudi funkcije skrivanja podatkov. Edini zahtevani del nadrejenega razreda lahko izpostavimo otroškemu razredu z različnimi modifikatorji dostopa do PHP.
  • V celoti podpira MVC - za MVC lahko gremo z uporabo koncepta dedovanja.

Zaključek

Za dediščino bi morali uporabiti dediščino, saj ima v primerjavi z običajno kodo nekaj dodatnih prednosti. Med varstvom podatkov bi morali skrbeti za varnost podatkov. Za obravnavo skrivanja in varnosti podatkov lahko uporabljamo spreminjevalnik dostopa, kot zasebni, zaščiten. PHP ne podpira več dedovanja.

Priporočeni članki

To je vodnik za dedovanje v PHP. Tukaj razpravljamo o vrstah dedovanja v PHP, tj. Enojnem, večstopenjskem, hierarhičnem z ustrezno vzorčno kodo. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Seje v PHP
  2. PHP prevajalnik
  3. Povezava z bazo PHP
  4. Preobremenitev v PHP
  5. Python preobremenitev