Introduktion till arv i PHP

Arv är sättet att utöka den befintliga klassfunktionaliteten i den nyskapade klassen. Vi kan också lägga till lite ytterligare funktionalitet i den nyskapade klassen bortsett från att utvidga basklassfunktionaliteterna. När vi ärver en klass säger vi att en ärvd klass är en barnklass (underklass) och från vilken vi ärver kallas föräldraklassen. Förälderklassen kallas också basklassen. Detta är det sätt som möjliggör bättre hantering av programmeringskoden och återanvändbarhet av kod. Idén bakom att använda arvet handlar om bättre hantering av koden och återanvändbarhet av koden. I det här ämnet kommer vi att lära oss om arv i PHP.

Arvstyper i PHP

PHP stöder olika typer av arv som JAVA. Tabellen nedan visar listan över arvstyper och stödstatus i PHP.

ArvstypSupport i PHP
Enskild arvJA
Arvel med flera nivåerJA
Hierarkisk arvJA
Multipel ärftNEJ

1. Enstaka arv

PHP stöder enkel arv. Enstaka arv är ett koncept i PHP där en klass endast kan ärvas av en enda klass. Vi måste ha två klasser mellan denna process. Den ena är basklassen (förälderklassen) och den andra en barnklass själv. Låt oss förstå detsamma med ett exempel. Det är populärt känt som enkel arv. Denna typ av arv i PHP-språk förblir densamma som JAVA, C ++, etc.

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 är föräldern och barnet är namnet på barnklass.

Produktion:

2. Erfarenhet i flera nivåer

PHP stöder flernivåerv. I denna typ av arv kommer vi att ha mer än 2 klasser. I denna typ av arv kommer en förälderklass att ärvas av en barnklass, då kommer den barnklassen att ärvas av barnklass. Denna typ av arv i PHP-språk förblir densamma som C ++ etc.

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

Produktion:

3. Hierarkisk arv

PHP stöder hierarkisk arv. Hierarkisk arv är den typ av arv där ett program består av en ensamstående förälder och mer än en barnklass. Låt oss förstå detsamma med det här exemplet. Denna typ av arv i PHP-språk förblir densamma som JAVA, C ++, etc.

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

Produktion:

Vi har en förälderklass som heter ParentClass och två barnklass respektive barn_2. Det givna scenariot för arvet kallas Hierarkisk arv.

Vikten av arv i PHP

Arvets betydelse är många fler eftersom det har stora fördelar med det.

  • Kodåteranvändbarhet är en av de mest använda i arvet, basklassen förblir som den är mellan processen. Som vi kan se i exemplet ovan med all arv, används koden från en klass till en annan. Vi behöver inte kräva att skriva samma sak om och om igen.
  • En basklass kan användas av ett antal härledda klasser i klasshierarkin. Ja, det här är en typ av arv som vi kan gå för att utöka i förälderklass med flera arv.
  • Förlängbarhet är en av fördelarna med arvet där vi kan utöka basklassfunktionen utan att göra några små eller inga förändringar för att uppfylla företagens krav. Anta att vi i början bara går med en förälderklass utan barnklass. Men vid behov kan vi lägga till barnklassen för att uppfylla våra affärsbehov senare.
  • Överskridande är en annan fördel med denna arvsfunktion där vi kan skriva om definitionen av basklassfunktionen till den härledda klassen för att göra ändringar enligt affärskraven.
  • Mindre mängd kod - under tiden kommer vi att ha mindre kod jämförelsevis medan vi går vidare med arvet jämfört med det traditionella sättet att koda.
  • Arv möjliggjorde också datadömningsfunktionerna också. Vi kan exponera den enda erforderliga delen av förälderklassen för barnklassen med olika PHP-åtkomstmodifierare.
  • Stöd fullt ut MVC - vi kan gå för MVC genom att använda arvet.

Slutsats

Vi bör använda arvet för att uppfylla vår verksamhet eftersom det kommer med några extra fördelar jämfört med den normala koden. Vi bör ta hand om datasäkerheten när vi hanterar arvet. Vi kan använda åtkomstmodifieraren som privat, skyddad för att hantera dataskydd och datasäkerhet. PHP stöder inte flera arv.

Rekommenderade artiklar

Detta är en guide till arv i PHP. Här diskuterar vi typerna av arv i PHP, dvs. enkel, flernivå, hierarkisk med lämplig provkod. Du kan också titta på följande artikel för att lära dig mer -

  1. Sessioner i PHP
  2. PHP Compiler
  3. PHP-databasanslutning
  4. Överbelastning i PHP
  5. Python överbelastning

Kategori: