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
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?
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
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