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 dziedziczenia | Wsparcie w PHP |
Pojedyncze dziedzictwo | TAK |
Dziedziczenie wielopoziomowe | TAK |
Dziedziczenie hierarchiczne | TAK |
Wielokrotne dziedziczenie | NIE |
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:
<_?phpclass 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:
<_?phpclass 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:
<_?phpclass 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 -
- Sesje w PHP
- Kompilator PHP
- Połączenie z bazą danych PHP
- Przeciążenie w PHP
- Przeciążenie Pythona