Autor | Zpráva | ||
---|---|---|---|
radas Profil * |
#1 · Zasláno: 2. 3. 2011, 11:11:48
Zdravím,
laboruji s OOP a neumim si poradit jak volat funkci, kterou mám nadefinovanou v třida, A v třidě B |
||
__construct Profil |
#2 · Zasláno: 2. 3. 2011, 11:30:44
Dá sa to viac spôsobmi - každý je ale na niečo iné:
<?php class A { public final function prvaMetoda() { return 'Som z A'; } } class B { public function inaMetoda() { //vytvoríš si inštanciu objektu v metóde; triedu A používaš iba v tejto metóde $a = new A; return $a->prvaMetoda(); } } class C { private $a; public function __construct() { //vytovríš si inštanciu v rámci triedy; používaš ju v ktorejkoľvek metóde v rámci triedy $this->a = new A; } public function volajA() { return $this->a->prvaMetoda(); } public function pouziA() { return strtolower($this->a->prvaMetoda()); } } class D extends A { // použiješ dedičnosť - trieda metódu „zdedí“ public function nieco() { return false; } } $b = new B; echo $b->inaMetoda(); $c = new C; echo $c->pouziA(); echo $c->volajA(); $d = new D; echo $d->prvaMetoda(); |
||
Joker Profil |
#3 · Zasláno: 2. 3. 2011, 11:31:46
Funkce ve třídě = metoda.
K atributům a metodám instance třídy (vytvořené operátorem new ) se operátorem -> , objektový operátor (object operator)
Ke statickým atributům a metodám třídy se přistupuje operátorem :: , scope resolution operator, český název nevím, něco jako operátor rozsahu nebo operátor rozlišení kontextu.
Ale doporučuji si přečíst něco o základech objektového programování (v PHP třeba http://www.linuxsoft.cz/article.php?id_article=229 ) |
||
radas Profil * |
#4 · Zasláno: 2. 3. 2011, 11:59:46
__construct, Joker:
děkuji... linuxsoft jsem se dival, jedu i podle knižky..ale učim se to...ne vše mi docvakne, když "nabyté" informace mam použit v praxi...děkuji.. |
||
Časová prodleva: 13 let
|
0