Introductie tot overerving in PHP

Overerving is de manier om de bestaande klassenfunctionaliteit uit te breiden in de nieuw gecreëerde klasse. We kunnen ook wat extra functionaliteit toevoegen aan de nieuw gecreëerde klasse, behalve het uitbreiden van de basisklasse-functionaliteiten. Wanneer we één klasse erven, zeggen we dat een geërfde klasse een onderliggende klasse (subklasse) is en waarvan we erven de bovenliggende klasse wordt genoemd. De bovenliggende klasse wordt ook wel de basisklasse genoemd. Op deze manier kan de programmeercode beter worden beheerd en kan de code opnieuw worden gebruikt. Het idee achter het gebruik van de erfenis is alles over beter beheer van de code en de herbruikbaarheid van de code. In dit onderwerp gaan we meer te weten komen over overerving in PHP.

Soorten overerving in PHP

PHP ondersteunt verschillende soorten overerving zoals JAVA. De onderstaande tabel toont de lijst met overervingstypen en de ondersteunende status in PHP.

Type overervingOndersteuning in PHP
Enkele erfenisJA
Overerving op meerdere niveausJA
Hiërarchisch erfdeelJA
Meerdere overervingNEE

1. Enkele erfenis

PHP ondersteunt Single inheritance. Enkelvoudige overerving is een concept in PHP waarbij één klasse slechts door één enkele klasse kan worden overgenomen. We moeten tussen dit proces twee klassen hebben. De ene is de basisklasse (ouderklasse) en de andere een kindklasse zelf. Laten we hetzelfde begrijpen met een voorbeeld. Het is in de volksmond bekend als eenvoudige erfenis. Dit type overerving in PHP-taal blijft hetzelfde als JAVA, C ++, enz.

Code:

<_?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 is de ouder en kind is de naam van de kindklasse.

Output:

2. Overerving op meerdere niveaus

PHP ondersteunt Multilevel Inheritance. In dit type overerving zullen we meer dan 2 klassen hebben. Bij dit type overerving wordt een bovenliggende klasse overgenomen door een onderliggende klasse en wordt die onderliggende klasse overgenomen door de onderliggende klasse. Dit type overerving in PHP-taal blijft hetzelfde als C ++ enz.

Code:

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

Output:

3. Hiërarchisch erfdeel

PHP ondersteunt hiërarchische overerving. Hiërarchische overerving is het type overerving waarin een programma bestaat uit een enkele ouder en meer dan één kindklasse. Laten we hetzelfde begrijpen met dit voorbeeld. Dit type overerving in PHP-taal blijft hetzelfde als JAVA, C ++, enz.

Code:

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

Output:

We hebben respectievelijk één ouderklasse ParentClass en twee onderliggende klassen child_1 en child_2. Het gegeven scenario van de erfenis wordt hiërarchische erfenis genoemd.

Het belang van overerving in PHP

Het belang van de erfenis is veel meer omdat het enorme voordelen oplevert.

  • De herbruikbaarheid van de code is een van de meest gebruikte in de overerving, de basisklasse blijft zoals deze is tussen het proces. Zoals we in het bovenstaande voorbeeld van alle overerving kunnen zien, wordt de code van de ene klasse naar de andere hergebruikt. We hoeven niet steeds opnieuw hetzelfde te schrijven.
  • Een basisklasse kan worden gebruikt door een aantal afgeleide klassen in de klassenhiërarchie. Ja, dit is een type overerving waarbij we kunnen overgaan tot uitbreiding in bovenliggende klasse met meerdere overervingen.
  • Uitbreidbaarheid is een van de voordelen van de erfenis waarmee we de basisklasse-functie kunnen uitbreiden zonder weinig of geen wijzigingen aan te brengen om aan de zakelijke vereisten te voldoen. Stel dat we in het begin alleen met een ouderklasse gaan zonder kinderklasse. Maar in geval van nood kunnen we de kindklasse toevoegen om later aan onze zakelijke behoeften te voldoen.
  • Overschrijven is een ander voordeel van deze overervingsfunctie, waarin we de definitie van de basisklasse-functie kunnen herschrijven in de afgeleide klasse om wijzigingen aan te brengen volgens de zakelijke vereisten.
  • Minder hoeveelheid code - in de tussentijd zullen we relatief minder code hebben terwijl we doorgaan met de erfenis in vergelijking met de traditionele manier van coderen.
  • Inheritance maakte ook de functies voor het verbergen van gegevens mogelijk. We kunnen het enige vereiste deel van de bovenliggende klasse blootstellen aan de onderliggende klasse met behulp van verschillende PHP Access Modifiers.
  • MVC volledig ondersteunen - we kunnen voor MVC gaan door het concept van de erfenis te gebruiken.

Conclusie

We moeten de erfenis gebruiken om ons bedrijf te vervullen, omdat het enkele extra voordelen oplevert in vergelijking met de normale code. We moeten zorgen voor de gegevensbeveiliging en tegelijkertijd omgaan met de erfenis. We kunnen de toegangsmodificator gebruiken zoals privé, beveiligd om te gaan met het verbergen van gegevens en gegevensbeveiliging. PHP ondersteunt geen meerdere overervingen.

Aanbevolen artikelen

Dit is een gids voor overerving in PHP. Hier bespreken we de soorten overerving in PHP, dwz enkelvoudig, multilevel, hiërarchisch met de juiste voorbeeldcode. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Sessies in PHP
  2. PHP-compiler
  3. PHP-databaseverbinding
  4. Overbelasting in PHP
  5. Python overbelast