Zajímalo by mě k čemu slouží tzv. abstraktní třídy a jak se dají využít v praxi. Proč není možné použít obyčejné třídy bez abstraktních metod?
Z anglického manuálu a různých českých překladů jsem to nějak nepochopil.
Fórum › PHP
Abstraktní třídy
![](img/forum_vlakno_help_vyreseno.png)
Je to zase jedno z "omezujicich" klicovych sluvek a la "private" atd.
Jde o to, ze kdyz definujes tridu jako abstraktni, tak podle ni nemuzes vytvorit objekt. Musis nejdrive vytvori tnejakou tridu, kterabude tu abstrakni dedit a tu pouzit.
Pouziva se to kdyz potrebujes mit nejaky zaklad, ktery sam o sobe neni funkci, ale je pouzit jako zaklad pro dalsi tridy.
CommanderZ napsal:
Je to zase jedno z "omezujicich" klicovych sluvek a la "private" atd.
private ? ... wtf ?
doplnim este ze
Ked dedis z abstraktnej triedy a neiplementujes vsetky funkcie vo svojej novej triede(ktore ma abstraktna trieda) tak aj ta nova trieda je opat abstraktna ... cize nemozes z nej dedit ....
xivo napsal: private ? ... wtf ?
Private - klíčové slovo omezující viditelnost metody nebo proměnné.
Ještě k mojí druhé otázce: Je možné pro tento účel použít obyčejné třídy bez abstraktních metod? (když si sám budu hlídat objekty a dědičnost)
Umožňuje mi něco používání abstraktní třídy/metody (dává mi to něco navíc), nebo mě to jen omezuje?
Ano, jenom v PHP to jenom omezuje. Oni ty omezeni ale maji smysl - tyhle principy te nuti zachovavat zakladni principy OOP a nepsat jak prase. Klicovy vyznam je pak samozrejme pri spolupraci vice lidi, ale rozhodne i v jednom to ma smysl.
ttf! :smile12:wtf?
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Abstraktní třídy/metody — založil ViliX64
Přetransformovat abstraktní třídu na ne-abstraktní — založil geryeo
Abstraktni trida do vektoru? — založil CommanderZ
Abstraktní metody a rozhrání — založil ViliX64
Abstraktni staticka metoda — založil Dusan R.
Moderátoři diskuze