OOP v PHP: Abstraktní třída
Abstraktní třída (abstrakce) je třída, která obsahuje jak abstraktní metody, tak hotové metody. Abstraktní třídy nesmí vytvářet instance, mohou být ale děděny a jejich potomci po implementaci potřebných metod instance vytvářet mohou. Metody označené jako abstrakní nemohou definovat obsah, pouze specifikují název a případné argumenty.
Třídy, které následně abstraktní metody zahrnují a dále uvádějí jejich definici, musí být označeny s viditelností stejnou nebo menší než abstraktní metody. Je-li tedy metoda v abstraktní třídě označena jeko protected, potomek abstraktní třídy může metodu uvádět jako public nebo protected.
Třída, která obsahuje alespoň jednu abstraktní metodu, musí být uváděna klíčovým slovem abstract.
<?php abstract class AbstraktniTrida { public function NormalniMetoda(){ echo 'Tohle je normální metoda'; } abstract protected function AbstraktniMetoda(); } class Potomek extends Abstraktnitrida { public function AbstraktniMetoda(){ echo 'Tohle je abstraktní metoda'; } } $ins = new Potomek; $ins->NormalniMetoda(); $ins->AbstraktniMetoda(); ?>
Příklad nejprve uvádí abstraktní třídu, která obsahuje jednu klasickou metodu a jednu abstraktní. Třída je následně děděna a její potomek definuje abstraktní třídu.
Pozn. red.: Zdůrazňujeme, že tento text se týká PHP 5.
Mohlo by vás také zajímat
-
Jak si vyzkoušet Apple Intelligence v EU
2. srpna 2024 -
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
ZONER Webmail jako první v Česku přináší BIMI s VMC
11. července 2024 -
Užitečné nástroje pro bezpečnost na internetu
17. října 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024
ereste
Bře 26, 2014 v 16:19Aký má zmysel? Naslôedujúci kód funguje rovnako:
class NeAbstraktniTrida {
public function NormalniMetoda(){
echo ‚Tohle je normální metoda‘;
}
}
class Potomek extends NeAbstraktnitrida {
public function NeAbstraktniMetoda(){
echo ‚Tohle je abstraktní metoda‘;
}
}
$ins = new Potomek;
$ins->NormalniMetoda();
$ins->NeAbstraktniMetoda();
d.b.cooper
Kvě 15, 2015 v 14:10tak ted na to cumim .. hlavni je aby to bylo logicky :D … ono to urcite nejakou logiku ma ale tady urcite neni popsana .. priklad k nicemu :/