Čo je abstraktná trieda?
Po prvé, je dôležité pochopiť, čo je to abstraktná trieda je v PHP . Hovorí sa, že trieda, ktorá nemôže byť inštancia alebo priamo do objektu abstraktné . Namiesto toho ho ostatné triedy, ktoré ho dedia, používajú ako základnú alebo rodičovskú triedu. Abstraktné triedy neposkytujú špecifickú implementáciu odvodených tried; skôr načrtávajú ich štruktúru a správanie. To umožňuje odvodeným triedam zachovať si svoje vlastné charakteristické správanie a zároveň sa stále držať základného rámca poskytovaného abstraktnou triedou.
Ako súčasť PHP „s OTVORENÉ , abstraktné triedy slúžia ako prostriedok na definovanie základnej kolekcie charakteristík, ktoré môžu byť zdieľané viacerými odvodenými triedami. Vývojári môžu poskytnúť šablónu pre triedy, ktoré budú dediť z abstraktnej triedy tak, že ju vytvoria. Aby sa zabezpečilo, že všetky odvodené triedy zodpovedajú rovnakému rozhraniu, tento návrh slúži ako zmluva medzi abstraktná trieda a odvodené triedy. Špecifiká implementácie sú ponechané na každej podtriede, ale toto rozhranie špecifikuje spoločné metódy, ktoré sú potrebné pre všetky podtriedy. Zmeny vykonané v abstraktnej triede sa okamžite rozšíria do všetkých odvodených tried, ktoré ju používajú, čo umožňuje viac opätovného použitia kódu a jednoduchšiu údržbu.
Ako fungujú abstraktné triedy v PHP?
Keď „abstraktné“ kľúčové slovo sa používa na definovanie triedy, PHP je informované, že triedu nie je možné vytvoriť. Obaja abstraktné a neabstraktné metódy nájdete v abstraktné triedy . Abstraktné metódy sú definované s 'abstrakt' kľúčové slovo a neposkytujú implementáciu – jednoducho deklarujú podpis metódy. Tieto abstraktné metódy musia byť implementované odvodenými triedami, ktoré sú odvodené z abstraktná trieda . Neabstraktné metódy na druhej strane poskytujú predvolenú implementáciu, ktorú sa môžu odvodené triedy rozhodnúť prepísať.
Pozrime sa na príklad:
abstraktné trieda ja {
abstraktné funkciu O mne ( $name , $vek ) ;
}
trieda Úvod predlžuje ja {
funkciu O mne ( $name , $vek ) {
ozvena 'Moje meno je $name a môj vek je $vek ' ;
}
}
$a = Nový Úvod ( ) ;
$a -> O mne ( 'Bob' , dvadsaťjeden ) ;
?>
Vo vyššie uvedenom kóde je abstraktná metóda v abstraktná rodičovská trieda „Ja“ má dva argumenty, „meno“ a „vek“. Podradená trieda „Intro“ tiež definuje rovnakú funkciu s týmito dvoma argumentmi a úvodný príkaz je vytlačený na obrazovke.
Výkon
Výhody abstraktných tried v PHP
1: Opätovná použiteľnosť kódu
Abstraktné triedy v PHP majú veľkú výhodu: umožňujú opätovné použitie kódu. Definovaním zdieľaného správania v an abstraktná trieda , môžete sa vyhnúť opakovaniu kódu v mnohých rôznych podtriedach. Vďaka tomu je správa a údržba kódu jednoduchšia. Abstraktné triedy tiež vám pomôže presadiť konzistentnosť a štandardy vo všetkých vašich podtriedach.
2: Definujte abstraktné vlastnosti
In PHP , abstraktné triedy majú užitočnú vlastnosť tzv abstraktné vlastnosti. Tieto vlastnosti vám umožňujú nastaviť určité požiadavky na podtriedy. Napríklad, ak vytvárate systém pre zvieratá, môžete nastaviť abstraktnú vlastnosť tzv $name to vyžaduje, aby každá podtrieda mala vlastnosť name. To môže pomôcť zabezpečiť, aby mal váš kód konzistentnú štruktúru a zjednodušiť ho na pochopenie a údržbu.
Záver
Schopnosť navrhnúť súbor funkcií, ktoré môžu zdieľať viaceré triedy abstraktné triedy užitočné pre vývojárov. To vedie k väčšiemu opätovnému použitiu kódu a jednoduchšej údržbe, pretože akékoľvek zmeny vykonané v abstraktnej triede automaticky ovplyvnia všetky triedy, ktoré z nej zdedia. Pri správnom použití, abstraktné triedy môže výrazne zlepšiť štruktúru a organizáciu kódu v objektovo orientovanom projekte. Je však dôležité používať ich uvážlivo, pretože ich nadmerné používanie môže viesť k príliš zložitému a ťažko udržiavateľnému kódu.