Co je abstraktní třída OOP v PHP?

Co Je Abstraktni Trida Oop V Php



Základem 'objektově orientované programování' (OOP) paradigma je představa, že 'předměty' může obsahovat kód i data. Jedna z hlavních součástí objektově orientovaného programování (OTEVŘENO) v PHP , populární skriptovací jazyk, je použití abstraktní třídy . V PHP, an abstraktní třída slouží jako model pro vytváření dalších tříd, protože nemůže být instanciován sám o sobě. Tento článek pojednává abstraktní třídy definice, funkčnost a použití v OOP PHP.

Co je abstraktní třída?

Nejprve je důležité pochopit, co je to abstraktní třída je v PHP . Říká se, že třída, kterou nelze vytvořit instancí nebo z ní udělat přímo objekt, je abstraktní . Místo toho ji ostatní třídy, které z ní zdědí, používají jako základní nebo nadřazenou třídu. Abstraktní třídy neposkytují konkrétní implementaci odvozených tříd; spíše nastiňují jejich strukturu a chování. To umožňuje odvozeným třídám zachovat si své vlastní charakteristické chování a přitom se stále držet základního rámce poskytovaného abstraktní třídou.

Jako část PHP „s OTEVŘENO , abstraktní třídy slouží jako prostředek k definování základní kolekce charakteristik, které mohou být sdíleny více odvozenými třídami. Vývojáři mohou poskytnout šablonu pro třídy, které budou dědit z abstraktní třídy tím, že ji vytvoří. Aby bylo zajištěno, že všechny odvozené třídy odpovídají stejnému rozhraní, slouží tento návrh jako smlouva mezi abstraktní třída a odvozené třídy. Specifika implementace jsou ponechána na každé podtřídě, ale toto rozhraní specifikuje společné metody, které jsou nezbytné pro všechny podtřídy. Změny provedené v abstraktní třídě se okamžitě rozšíří do všech odvozených tříd, které ji používají, což umožní více opakované použití kódu a snadnější údržbu.







Jak fungují abstraktní třídy v PHP?

Když „abstraktní“ klíčové slovo se používá k definování třídy, PHP je informováno, že třídu nelze vytvořit. Oba abstraktní a neabstraktní metody lze nalézt v abstraktní třídy . Abstraktní metody jsou definovány s 'abstraktní' klíčové slovo a neposkytují implementaci – jednoduše deklarují podpis metody. Tyto abstraktní metody musí být implementovány odvozenými třídami, které jsou odvozeny z abstraktní třída . Neabstraktní metody na druhé straně poskytují výchozí implementaci, kterou se mohou odvozené třídy rozhodnout přepsat.



Podívejme se na příklad:





abstraktní třída {

abstraktní funkce O mně ( $jméno , $věk ) ;

}

třída Intro rozšiřuje {

funkce O mně ( $jméno , $věk ) {

echo 'Jmenuji se $jméno a můj věk je $věk ' ;

}

}

$a = Nový Intro ( ) ;

$a -> O mně ( 'Bob' , dvacet jedna ) ;

?>

Ve výše uvedeném kódu je abstraktní metoda v abstraktní rodičovská třída „Já“ má dva argumenty, „jméno“ a „věk“. Podřízená třída ‚Intro‘ také definuje stejnou funkci s těmito dvěma argumenty a příkaz intro je vytištěn na obrazovce.





Výstup



Výhody abstraktních tříd v PHP

1: Znovupoužitelnost kódu

Abstraktní třídy v PHP mají velkou výhodu: umožňují opětovné použití kódu. Definováním sdíleného chování v an abstraktní třída , můžete se vyhnout opakování kódu v mnoha různých podtřídách. Díky tomu je správa a údržba kódu jednodušší. Abstraktní třídy také vám pomohou prosadit konzistenci a standardy ve všech vašich podtřídách.

2: Definujte abstraktní vlastnosti

v PHP , abstraktní třídy mají užitečnou funkci tzv abstraktní vlastnosti. Tyto vlastnosti umožňují nastavit určité požadavky na podtřídy. Pokud například vytváříte systém pro zvířata, můžete nastavit abstraktní vlastnost s názvem $jméno to vyžaduje, aby každá podtřída měla vlastnost name. To může pomoci zajistit, že váš kód bude mít konzistentní strukturu a bude jednodušší na pochopení a údržbu.

Závěr

Schopnost navrhnout sadu funkcí, které mohou být sdíleny několika třídami abstraktní třídy užitečné pro vývojáře. To vede k většímu opětovnému použití kódu a snadnější údržbě, protože jakékoli změny provedené v abstraktní třídě automaticky ovlivní všechny třídy, které z ní dědí. Při správném použití, abstraktní třídy může výrazně zlepšit strukturu a organizaci kódu v objektově orientovaném projektu. Je však důležité je používat uvážlivě, protože jejich nadměrné používání může vést k příliš složitému a obtížně udržovatelnému kódu.