Autor | Zpráva | ||
---|---|---|---|
Lapiw Profil * |
#1 · Zasláno: 6. 6. 2008, 19:23:20
Prosim Vas, vie mi niekto vysvetlit aky je rozdiel medzi statickou premennou a konstatou v class OOP?
Dakujem. |
||
bukaj Profil |
#2 · Zasláno: 6. 6. 2008, 20:08:56
Lapiw
Statická proměnná je taková proměnná, která náleží třídě, lze ji změnit a nastavovat u ní viditelnost (public, protected, private), je uvozena symbolem $, jak je zvykem u proměnných v PHP. Třídní konstanta je neměnná hodnota (tj. jak je jednou ddefinována, nelze ji změnit), která musí být známá již při definici (nelze tedy mít jako hodnotu nějaký matematický výraz, volání fce atp.), neuvozuje se symbolem $ a, pokud vím, nepoužívá se u ní viditelnost (protože stejně nejde změnit). Podstatný rozdíl tedy je, že u statické proměnné, jak již plyne z názvu, jde změnit její hodnotu, zatímco u konstanty to nelze (což taky plyne z názvu -- konstatní = neměnný). |
||
Lapiw Profil * |
#3 · Zasláno: 6. 6. 2008, 20:47:09
ok a tak potom nechapem aky je rozdiel medzi
public static $var a public $var Vie te mi to vysvetlit? |
||
DoubleThink Profil * |
#4 · Zasláno: 6. 6. 2008, 21:03:26
statická vlastnost nebo metoda jde volat staticky - to znamená ne prostřednictvím instance třídy ale přímo v jejím kontextu.
|
||
suky Profil |
#5 · Zasláno: 6. 6. 2008, 21:40:25 · Upravil/a: suky
Lapiw
Mozna na prvni pohled jednodussi vysvetleni. (Nic proti tvemu, ale kazdy nekdy zacinal...) Staticke vlastnosti nebo metody jdou volat primo v tride, tzn. nemusi se vytvaret instance. <?php class Trida { //vlastnosti public static $statickaVlastnost = 'text'; public $vlastnost = 'text'; //konstruktor pro uplnost public function __construct() {} //metody public static function statickaMetoda() { return 1; } public function metoda() { return 1; } } //volani staticke vlastnosti $t = Trida::$statickaVlastnost; //volani staticke metody $t = Trida::statickaMetoda(); //vytvoreni instance $i = new Trida; //volani vlastnosti $t = $i -> vlastnost; //volani metody $t = $i -> metoda(); ?> |
||
DoubleThink Profil * |
#6 · Zasláno: 6. 6. 2008, 21:50:45
(Nic proti tvemu, ale kazdy nekdy zacinal...)
Souhlasím, mě se jenom nechtělo vymýšlet script ;) |
||
Lapiw Profil * |
#7 · Zasláno: 7. 6. 2008, 11:55:37
OOP sa prave ucim, ospravedlnujem sa za mozno pre Vas blbe otazky. PHP ako take viem perfektne ale prechadzam postupne na OOP a nechcem niektorymi vecami kyvnut rukou ale chcem to vsetko riadne chapat.
No rozumiem, ale nevidim v tom ziadne potencialne vyuzitie, viete mi povedat kedy sa to ma pouzivat? Dakujem. |
||
suky Profil |
#8 · Zasláno: 7. 6. 2008, 11:58:18
Lapiw
Jak uz jsme ti psali, pri statickych vlastnostech a metodach nemusis vytvaret instanci tridy, to se hodi napriklad v knihovnich tridach. Pokud to s OOP myslis opravdu vazne, doporucuju ti koupit si knihu Navrhove vzory (link). |
||
Lapiw Profil * |
#9 · Zasláno: 7. 6. 2008, 13:57:10
dakujem za tip,
ale tam su tie vzory pisane v JAVE nie? Doporucujete mi to aj ked som PHP-ista? Dakujem za odpoved. |
||
suky Profil |
#10 · Zasláno: 7. 6. 2008, 17:06:10
Lapiw
Samozrejme, me taky rikali, at se ucim OOP na nejakem jinem jazyku jako C++ nebo Java, jenze ono je lepsi vubec se nevazat na syntaxi a vytvorit takovou svoji, obecnou v hlave. Prevedeni do PHP by pak nemel byt zadny velky problem (link). Pokud si v OOP uplny novacek, doporucil bych ti jeste jednu knizku, predstav si ji jako slabikar pro prvnacka (link). A pamatuj, ze neni nejdulezitejsi to umet napsat, ale chapat podstatu! |
||
Lapiw Profil * |
#11 · Zasláno: 7. 6. 2008, 19:03:05
Dakujem za TIP :)
To na intervale poznam, to teraz postupne citam ale zrejme to su tam len take zaklady ze? Kupim si asi tie 2 knihy rovno naraz a budem sa to ucit a ucit, ale verim, ze su to naozaj dobre knihy a ze by som to mal pochopit. Dakujem!!! |
||
suky Profil |
#12 · Zasláno: 7. 6. 2008, 20:18:49
Lapiw
Na tom intervale to jsou sice zaklady, ale pro ty, kdo jiz OOP ovladaji a chteli ho pouzivat v PHP. Jeste k tem kniham: OOP Objektově orientované programování bez předchozích znalostí (link) - hodne zjednodusenou a opakovaci formou ti predstavi zakladni myslenky OOP - priklady jsou ukazany na Jave/C++/C# - dozvis se zaklady, jako co je trida, rozhrani, metoda, polymorfismus, ... Návrhové vzory (link) - slozitejsi na pochopeni - nutna znalost obsahu knihy, pokud chces OOP dobre rozumet - pojednava o navrhovych vzorech, coz jsou urcite postupy objektoveho programovani UML 2 a unifikovaný proces vývoje aplikací (link) - zaobira se spis analyzou a navrhem aplikace v OOP - UP & UML jsou taky zaklady pro programatora - dovedeni projektu od zacatku az do konce OOP se proste linearnim zpusobem nenaucis. Pokud to s OOP myslis opravdu vazne, myslim, ze by tvoje knihovna tyhle tri (aspon teda ty dve posledni, ale zase bez znalosti te prvni jsou ty dalsi dve k nicemu) knihy mela obsahovat. Me pomahaji uzasnym zpusobem. |
||
suky Profil |
#13 · Zasláno: 7. 6. 2008, 21:42:49
Vytvoril jsem vlakno zabyvajici se vyukou OOP. (link)
|
||
Časová prodleva: 16 let
|
0