Introduksjon til arv i PHP

Arv er måten å utvide den eksisterende klassefunksjonaliteten i den nyopprettede klassen. Vi kan også legge til noe ekstra funksjonalitet til den nyopprettede klassen bortsett fra å utvide funksjonalitetene i baseklassen. Når vi arver en klasse, sier vi at en arvet klasse er en barneklasse (underklasse) og som vi arver fra blir kalt foreldreklassen. Foreldreklassen er også kjent som baseklassen. Dette er måten som muliggjør bedre styring av programmeringskoden og gjenbrukbarhet av kode. Ideen bak bruken av arven handler om bedre håndtering av koden og gjenbrukbarhet av kode. I dette emnet skal vi lære om arv i PHP.

Arvstyper i PHP

PHP støtter forskjellige typer arv som JAVA. Tabellen nedenfor viser listen over arvstyper og støttestatus i PHP.

ArvelighetstypeStøtte i PHP
EnkeltarvJA
FlernivåarvJA
Hierarkisk arvJA
Flere arvNEI

1. Enkeltarv

PHP støtter singelarv. Enkeltarv er et konsept i PHP der en klasse kun kan arves av en enkelt klasse. Vi må ha to klasser mellom denne prosessen. Den ene er baseklassen (foreldreklassen) og den andre en barneklasse i seg selv. La oss forstå det samme med et eksempel. Det er populært kjent som enkel arv. Denne typen arv i PHP-språk forblir den samme som JAVA, C ++, etc.

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 forelderen og barnet er navnet på barneklassen.

Produksjon:

2. Arvelighet i flere plan

PHP støtter flernivåarv. I denne arvtypen vil vi ha mer enn 2 klasser. I denne typen arv vil en foreldreklasse arves av en barneklasse, deretter vil den barneklassen arves av barneklassen. Denne arven i PHP-språk forblir 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();
?>

Produksjon:

3. Hierarkisk arv

PHP støtter hierarkisk arv. Hierarkisk arv er typen arv der et program består av en enslig forelder og mer enn en barneklasse. La oss forstå det samme med dette eksemplet. Denne typen arv i PHP-språk forblir den samme som JAVA, C ++, etc.

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

Produksjon:

Vi har en foreldreklasse som heter henholdsvis ParentClass og to barneklasse barn_1 og barn_2. Det gitte scenariet for arven kalles Hierarkisk arv.

Viktigheten av arv i PHP

Viktigheten av arven er mange flere, da den gir store fordeler med den.

  • Gjenbrukbarhet av kode er en av de mest brukte i arven, baseklassen forblir som den er i mellom prosessen. Som vi kan se i eksemplet ovenfor med all arv, blir koden brukt på nytt fra en klasse til en annen. Vi trenger ikke å kreve å skrive det samme igjen og igjen.
  • En baseklasse kan brukes av et antall avledede klasser i klassehierarkiet. Ja, dette er en type arv der vi kan gå for å utvide i foreldreklasse med flere arv.
  • Utvidbarhet er en av fordelene med arven der vi kan utvide funksjonen i baseklassen uten å gjøre små eller ingen endringer for å oppfylle forretningskravene. Anta at i begynnelsen går vi bare med en foreldreklasse uten barneklasse. Men i tilfelle behov, kan vi legge til barneklassen for å oppfylle våre forretningsbehov senere.
  • Overstyring er en annen fordel med denne arvefunksjonen der vi kan omskrive definisjonen av grunnklassefunksjonen til den avledede klassen for å gjøre endringer i henhold til virksomhetens krav.
  • Mindre mengde kode - i mellomtiden vil vi ha mindre kode relativt mens vi går videre med arven sammenlignet med den tradisjonelle kodingsmåten.
  • Arv muliggjorde også skjulingsfunksjonene for data. Vi kan eksponere den eneste nødvendige delen av foreldreklassen for barneklassen ved hjelp av forskjellige PHP Access Modifiers.
  • Støtt MVC fullt ut - vi kan gå for MVC ved å bruke arvebegrepet.

Konklusjon

Vi bør bruke arven for å oppfylle virksomheten vår, da den gir opp noen fordeler sammenlignet med den normale koden. Vi bør ta vare på datasikkerheten mens vi håndterer arven. Vi kan bruke tilgangsmodifisereren som privat, beskyttet for å håndtere data skjul og datasikkerhet. PHP støtter ikke flere arv.

Anbefalte artikler

Dette er en guide til arv i PHP. Her diskuterer vi arvelighetstypene i PHP dvs. enkelt, flernivå, hierarkisk med passende prøvekode. Du kan også se på følgende artikkel for å lære mer -

  1. Økter i PHP
  2. PHP-kompilator
  3. PHP-databasetilkobling
  4. Overbelastning i PHP
  5. Python-overbelastning