Introduktion til arv i PHP

Arv er måden at udvide den eksisterende klassefunktionalitet i den nyoprettede klasse. Vi kan også tilføje nogle ekstra funktionaliteter til den nyoprettede klasse bortset fra at udvide baseklasse-funktionaliteterne. Når vi arver en klasse, siger vi, at en arvet klasse er en barneklasse (underklasse), og hvorfra vi arver, kaldes forældreklassen. Forældreklassen er også kendt som baseklassen. Dette er den måde, der muliggør en bedre styring af programmeringskoden og kodegenanvendelighed. Ideen bag brugen af ​​arven handler om bedre styring af koden og kodegenanvendelighed. I dette emne skal vi lære om arv i PHP.

Arvstyper i PHP

PHP understøtter forskellige typer arv som JAVA. Nedenstående tabel viser listen over arvstyper og den understøttende status i PHP.

Arv TypeSupport i PHP
Enkelt arvJA
Multilevel ArvJA
Hierarkisk arvJA
Multiple arvINGEN

1. Enkelt arv

PHP understøtter en enkelt arv. Enkelt arv er et koncept i PHP, hvor en klasse kun kan arves af en enkelt klasse. Vi er nødt til at have to klasser imellem denne proces. Den ene er baseklassen (forældreklasse) og den anden en børneklasse i sig selv. Lad os forstå det samme med et eksempel. Det er populært kendt som enkel arv. Denne type arv i PHP-sprog forbliver den samme som JAVA, C ++ osv.

Kode:

<_?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 er forælderen og barnet er navnet på børneklassen.

Produktion:

2. Arvelivelse på flere niveauer

PHP understøtter Multilevel Inheritance. I denne arvtype har vi mere end 2 klasser. I denne type arv vil en forældreklasse blive arvet af en barneklasse, derefter vil den barneklasse blive arvet af barneklassen. Denne arvtype i PHP-sprog forbliver den samme som C ++ osv.

Kode:

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

Produktion:

3. Hierarkisk arv

PHP understøtter hierarkisk arv. Hierarkisk arv er den type arv, hvori et program består af en enlig forælder og mere end en barneklasse. Lad os forstå det samme med dette eksempel. Denne type arv i PHP-sprog forbliver den samme som JAVA, C ++ osv.

Kode:

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

Produktion:

Vi har en forældreklasse, der hedder henholdsvis ParentClass og to barneklasse barn_1 og barn_2. Det givne scenarie for arven kaldes Hierarkisk arv.

Betydningen af ​​arv i PHP

Arvenes betydning er mange flere, da det giver store fordele med det.

  • Genanvendelighed af koden er en af ​​de hyppigst anvendte i arven, baseklassen forbliver som den er mellem processen. Som vi kan se i ovenstående eksempel på al arv, genbruges koden fra en klasse til en anden. Vi behøver ikke at kræve at skrive den samme gang igen og igen.
  • En baseklasse kan bruges af et antal af dets afledte klasser i klassehierarkiet. Ja, dette er en type arv, hvor vi kan gå til at udvide i forældreklasse med flere arver.
  • Strækbarhed er en af ​​fordelene ved arven, hvor vi kan udvide baseklasse-funktionen uden at foretage ringe eller ingen ændringer for at opfylde forretningskravene. Antag, at vi i begyndelsen bare går med en forældreklasse uden børneklasse. Men i tilfælde af behov kan vi tilføje barneklassen til at opfylde vores forretningsbehov senere.
  • Overstyring er en anden fordel ved denne arvsfunktion, hvor vi kan omskrive definitionen af ​​basisklassefunktionen til den afledte klasse for at foretage ændringer i henhold til forretningskravene.
  • Mindre mængde kode - i mellemtiden vil vi have mindre kode sammenligneligt, mens vi går videre med arven i forhold til den traditionelle måde at kode på.
  • Arv muliggjorde også data skjulfunktioner også. Vi kan udsætte den eneste krævede del af forældreklassen for børneklassen ved hjælp af forskellige PHP Access Modifiers.
  • Understøtter MVC fuldt ud - vi kan gå til MVC ved at bruge arven.

Konklusion

Vi bør bruge arven til at opfylde vores forretning, da det giver nogle ekstra fordele sammenlignet med den normale kode. Vi skal tage os af datasikkerheden, mens vi håndterer arven. Vi kan bruge adgangsmodifikatoren som privat, beskyttet til at håndtere data skjul og datasikkerhed. PHP understøtter ikke flere arv.

Anbefalede artikler

Dette er en guide til arv i PHP. Her diskuterer vi arvstyperne i PHP dvs. enkelt, multilevel, hierarkisk med den relevante prøvekode. Du kan også se på den følgende artikel for at lære mere -

  1. Samlinger i PHP
  2. PHP Compiler
  3. PHP-databaseforbindelse
  4. Overbelastning i PHP
  5. Python-overbelastning

Kategori: