Uvod u nasljeđivanje u PHP-u
Nasljeđivanje je način proširenja postojeće klase funkcionalnosti u novostvorenoj klasi. U novostvorenu klasu možemo dodati i neke dodatne funkcionalnosti, osim što proširujemo funkcionalnost osnovne klase. Kada nasljeđujemo jedan razred, kažemo da je naslijeđena klasa podređena klasa (podklasa) i od koje nasljeđujemo nazivamo roditeljska klasa. Roditeljska klasa je poznata i kao osnovna klasa. To je način koji omogućuje bolje upravljanje programskim kodom i ponovnom upotrebom koda. Ideja korištenja nasljeđivanja sastoji se u boljem upravljanju kodom i ponovnom upotrebom koda. U ovoj ćemo temi upoznati nasljeđivanje u PHP-u.
Vrste nasljeđivanja u PHP-u
PHP podržava razne vrste nasljeđivanja poput JAVA. Donja tablica prikazuje popis vrsta nasljeđivanja i status podrške u PHP-u.
Vrsta nasljeđivanja | Podrška u PHP-u |
Jedno nasljeđivanje | DA |
Nasljeđivanje na više nivoa | DA |
Hijerarhijsko nasljeđivanje | DA |
Višestruko nasljeđivanje | NE |
1. Pojedinačno nasljeđivanje
PHP podržava pojedinačno nasljeđivanje. Pojedinačno nasljeđivanje koncept je u PHP-u u kojem jednu klasu može naslijediti samo jedna klasa. Moramo imati dvije klase između ovog procesa. Jedan je osnovna klasa (roditeljska klasa), a drugi sam razred djece. Shvatimo isto s primjerom. Popularno je poznato kao jednostavno nasljeđivanje. Ova vrsta nasljeđivanja na jeziku PHP ostaje ista kao i JAVA, C ++, itd.
Kodirati:
<_?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 je roditelj, a dijete je ime dječje klase.
Izlaz:
2. Nasljeđivanje na više nivoa
PHP podržava multilevelno nasljeđivanje. Kod ove vrste nasljeđivanja imat ćemo više od 2 razreda. Kod ove vrste nasljeđivanja, nadređena klasa će naslijediti dječju klasu, a tada će to dječja klasa naslijediti. Ova vrsta nasljeđivanja na PHP jeziku ostaje ista kao i C ++ itd.
Kodirati:
<_?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();
?>
Izlaz:
3. Hijerarhijsko nasljeđivanje
PHP podržava hijerarhijsko nasljeđivanje. Hijerarhijsko nasljeđivanje je vrsta nasljeđivanja u kojoj se program sastoji od jednog roditelja i više od jedne dječje klase. Shvatimo isto s ovim primjerom. Ova vrsta nasljeđivanja na jeziku PHP ostaje ista kao i JAVA, C ++, itd.
Kodirati:
<_?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();
?>
Izlaz:
Imamo jednu roditeljsku klasu koja se zove ParentClass i dvije dječje klase dijete_1 i dijete_2. Dani scenarij nasljeđivanja naziva se hijerarhijsko nasljeđivanje.
Važnost nasljeđivanja u PHP-u
Važnost nasljedstva je puno više, jer dolazi do ogromnih prednosti s njim.
- Ponovna upotreba koda jedna je od najčešće korištenih u nasljeđivanju, osnovna klasa ostaje onakva kakva je između procesa. Kao što vidimo u gornjem primjeru svih nasljeđivanja, kod se ponovno koristi iz jedne klase u drugu. Ne treba od nas tražiti da ponovo i opet pišemo istu stvar.
- Baznu klasu mogu koristiti mnogi izvedeni razredi u hijerarhiji klasa. Da, ovo je vrsta nasljeđivanja kod koje možemo ići na proširenje u roditeljskoj klasi s višestrukim nasljeđivanjem.
- Proširenost je jedna od prednosti nasljeđivanja u kojem možemo proširiti značajku osnovne klase bez malo ili nikakvih promjena da bismo ispunili poslovne zahtjeve. Pretpostavimo u početku da idemo s roditeljskom klasom samo bez klase djece. No u slučaju potrebe možemo naknadno dodati dječji razred da bismo ispunili poslovne potrebe.
- Poništavanje je još jedna prednost ove značajke nasljeđivanja u kojoj možemo prepisati definiciju funkcije osnovne klase u izvedenu klasu radi izmjena prema poslovnim zahtjevima.
- Manja količina koda - u međuvremenu ćemo imati manje koda usporedno dok napredujemo s nasljeđivanjem u usporedbi s tradicionalnim načinom kodiranja.
- Nasljeđivanje je također omogućilo i skrivanje podataka. Možemo izložiti jedini potrebni dio roditeljske klase dječjoj klasi koristeći različite PHP pristupne modifikatore.
- Potpuno podržavajte MVC - možemo ići za MVC koristeći koncept nasljeđivanja.
Zaključak
Nasljedstvo bismo trebali iskoristiti kako bismo ispunili svoje poslovanje, jer ima neke dodatne prednosti u odnosu na uobičajeni kod. Trebamo brinuti o sigurnosti podataka dok se bavimo nasljeđivanjem. Možemo koristiti modifikator pristupa kao privatni, zaštićeni da bismo se bavili skrivanjem podataka i sigurnošću podataka. PHP ne podržava više nasljeđivanja.
Preporučeni članci
Ovo je vodič za nasljeđivanje u PHP-u. Ovdje ćemo raspravljati o vrstama nasljeđivanja u PHP-u, tj. Jednoslojnom, višerazinskom, hijerarhijskom s odgovarajućim uzorkom koda. Možete pogledati i sljedeći članak da biste saznali više -
- Sjednice u PHP-u
- PHP prevodilac
- PHP baza podataka
- Preopterećenje u PHP-u
- Python preopterećenje