Autor | Zpráva | ||
---|---|---|---|
Fisak Profil * |
#1 · Zasláno: 28. 12. 2011, 11:46:09
Zdravím je někdo kdo by mi vysvětlil rozdíl mezi static a public ?? popř. nějaké další alternativy ???
|
||
Nox Profil |
#2 · Zasláno: 28. 12. 2011, 11:57:34
chtělo by to trochu rozumnější dotaz
static kde? Ve funkci to znamená, že si proměnná uchová hodnotu mezi jednotlivým spuštěním funkce. U vlastnosti (class property) že si uchovává hodnotu pro konkrétní třídu, napříč instancemi. U metody že se volá jakoby "na třídě", neváže se k instanci public znamená, že je metoda/vlastnosti viditelná a editovatelná z vnějšku objektu ($dog->name = "xyz"), protected že jsou přístupné jen v metodách třídy a jejích potomcích a private že jsou přístupné jen v té konkrétní třídě ale nevím kde's na to narazil, že jsou tam popsané jen tyto 2 věci a není to nějak vysvětlené chtělo by to upřesnit dotaz |
||
Ugo Profil |
#3 · Zasláno: 28. 12. 2011, 11:59:07
Static (má dále taky oprávnění):
- nedrží se v instanci ale ve třídě která je globální class::$var self::$var ne-static (bez určení static) -nenáleží třídě, ale až její instanci (vzniká po new Class()), není globální v podstatě (musíš mít tu instanci) $instance->var $this->var Oprávnění: Public: - nechá se volat zvenku $instance->var $this->var Alternativy - protected, private : - stejný jako public, ale nejdou volat zvenčí. private se nedědí, protected jo. Kombinuje se s gettery a settery getVar(){return $this->var} setVar($x){$this->var=$x} funguje jen $this->var |
||
Fisak Profil * |
#4 · Zasláno: 28. 12. 2011, 13:17:42
např.
public $promenna = "ahoj"; static $promenna = "ahoj"; rozdíl ?? |
||
Bertram Profil |
#5 · Zasláno: 28. 12. 2011, 14:54:02
Veřejná nestatická vlastnost bude patřit objektu, který ze třídy vytvoříš, ale statická (u které ti chybí modifikátor přístupu) zůstane třídě, takže pokud ji v jedné instanci změníš, projeví se tato změna ve všech.
|
||
Časová prodleva: 12 let
|
0