Wprowadzenie do dziedziczenia w PHP

Dziedziczenie to sposób na rozszerzenie istniejącej funkcjonalności klasy w nowo utworzonej klasie. Możemy również dodać dodatkowe funkcje do nowo utworzonej klasy oprócz rozszerzania funkcjonalności klasy podstawowej. Kiedy dziedziczymy jedną klasę, mówimy, że dziedziczona klasa jest klasą potomną (podklasą), z której dziedziczy się, nazywana jest klasą nadrzędną. Klasa nadrzędna jest również znana jako klasa podstawowa. Jest to sposób, który umożliwia lepsze zarządzanie kodem programowania i jego wielokrotnym użyciem. Ideą wykorzystania dziedziczenia jest lepsze zarządzanie kodem i jego ponowne użycie. W tym temacie nauczymy się dziedziczenia w PHP.

Rodzaje dziedziczenia w PHP

PHP obsługuje różne typy dziedziczenia, takie jak JAVA. Poniższa tabela pokazuje listę typów dziedziczenia i statusy wspierające w PHP.

Rodzaj dziedziczeniaWsparcie w PHP
Pojedyncze dziedzictwoTAK
Dziedziczenie wielopoziomoweTAK
Dziedziczenie hierarchiczneTAK
Wielokrotne dziedziczenieNIE

1. Pojedyncze dziedzictwo

PHP obsługuje pojedyncze dziedziczenie. Pojedyncze dziedziczenie to koncepcja w PHP, w której jedna klasa może być dziedziczona tylko przez jedną klasę. Musimy mieć dwie klasy pomiędzy tym procesem. Jedna to klasa podstawowa (klasa macierzysta), a druga sama klasa potomna. Rozumiemy to samo na przykładzie. Jest powszechnie znany jako proste dziedzictwo. Ten typ dziedziczenia w języku PHP pozostaje taki sam jak JAVA, C ++ itp.

Kod:

<_?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 jest rodzicem, a child to nazwa klasy potomnej.

Wynik:

2. Dziedziczenie wielopoziomowe

PHP obsługuje dziedziczenie wielopoziomowe. W tego rodzaju dziedzictwie będziemy mieć więcej niż 2 klasy. W tego rodzaju dziedziczeniu klasa nadrzędna zostanie odziedziczona przez klasę podrzędną, a następnie ta klasa podrzędna zostanie odziedziczona przez klasę podrzędną. Ten typ dziedziczenia w języku PHP pozostaje taki sam jak C ++ itp.

Kod:

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

Wynik:

3. Dziedziczenie hierarchiczne

PHP obsługuje dziedziczenie hierarchiczne. Dziedziczenie hierarchiczne to rodzaj dziedziczenia, w którym program składa się z jednego rodzica i więcej niż jednej klasy potomnej. Rozumiemy to samo z tym przykładem. Ten typ dziedziczenia w języku PHP pozostaje taki sam jak JAVA, C ++ itp.

Kod:

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

Wynik:

Mamy jedną klasę nadrzędną o nazwie ParentClass i dwie klasy podrzędne child_1 i child_2 odpowiednio. Podany scenariusz dziedziczenia nazywa się dziedziczeniem hierarchicznym.

Znaczenie dziedziczenia w PHP

Znaczenie dziedziczenia jest o wiele większe, ponieważ wiąże się ono z ogromnymi zaletami.

  • Ponowne użycie kodu jest jednym z najczęściej używanych w dziedziczeniu, klasa podstawowa pozostaje taka, jaka jest pomiędzy procesem. Jak widać na powyższym przykładzie całego dziedziczenia, kod jest ponownie wykorzystywany z jednej klasy do drugiej. Nie musimy od nowa pisać tego samego od nowa.
  • Klasa podstawowa może być używana przez wiele jej klas pochodnych w hierarchii klas. Tak, jest to rodzaj dziedziczenia, w którym możemy przejść do rozszerzenia w klasie nadrzędnej o wiele dziedziczeń.
  • Rozszerzalność jest jedną z zalet dziedziczenia, w której możemy rozszerzyć funkcję klasy podstawowej bez dokonywania niewielkich lub żadnych zmian w celu spełnienia wymagań biznesowych. Załóżmy, że na początku wybieramy się tylko z rodzicielską klasą bez klasy dziecięcej. Ale w razie potrzeby możemy dodać klasę potomną, aby spełnić nasze potrzeby biznesowe w późniejszym terminie.
  • Zastąpienie jest kolejną zaletą tej funkcji dziedziczenia, w której możemy przepisać definicję funkcji klasy bazowej na klasę pochodną, ​​aby wprowadzić zmiany zgodnie z wymaganiami biznesowymi.
  • Mniejsza ilość kodu - tymczasem będziemy mieć mniej kodu w miarę postępów w dziedziczeniu w porównaniu do tradycyjnego sposobu kodowania.
  • Dziedziczenie umożliwiło również funkcje ukrywania danych. Możemy udostępnić jedyną wymaganą część klasy nadrzędnej klasie potomnej przy użyciu różnych modyfikatorów dostępu PHP.
  • W pełni wspieraj MVC - możemy wybrać MVC, korzystając z koncepcji dziedziczenia.

Wniosek

Powinniśmy skorzystać z dziedziczenia, aby zrealizować naszą działalność, ponieważ ma on pewne dodatkowe zalety w porównaniu ze zwykłym kodem. Podczas dziedziczenia powinniśmy zadbać o bezpieczeństwo danych. Możemy użyć modyfikatora dostępu, takiego jak prywatny, chroniony, aby radzić sobie z ukrywaniem danych i bezpieczeństwem danych. PHP nie obsługuje wielu spadków.

Polecane artykuły

Jest to przewodnik po dziedziczeniu w PHP. W tym miejscu omawiamy typy dziedziczenia w PHP, tj. Pojedyncze, wielopoziomowe, hierarchiczne z odpowiednim kodem przykładowym. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Sesje w PHP
  2. Kompilator PHP
  3. Połączenie z bazą danych PHP
  4. Przeciążenie w PHP
  5. Przeciążenie Pythona