| Autor | Zpráva | ||
|---|---|---|---|
| hellmc Profil |
#1 · Zasláno: 6. 3. 2015, 14:30:11
Ahoyte ..
Začínam s oop a nejak mi nejde dedičnosť tak, ako by som si predstavoval .... Mám objekt "jadro" a objekt "hlava" (class hlava extends jadro) v jadre mam atribut : "public $str_lmenu" a chcel by som s nim pracovat v class hlava, malo by to byť len $this->str_lmenu ak sa nemylim, keď vytvorím objekt $j=new jadro();
$j->str_lmenu=array("nieco",...atd);
$x=new hlava();
$x->init();keď však zadám hodnotu pre $str_lmenu v triede jadro, alebo v jeho __construct, je to v poriadku dá sa hodnota atribútu nastaviť tak ako je to vyššie, a používať túto v child triede ? Dík za pomoc ... |
||
| Alphard Profil |
#2 · Zasláno: 6. 3. 2015, 14:41:17
Nedá, takhle to v PHP nefunguje. Byť návrh třídy hlava dědí od jadro, jejich instance jsou oddělené.
|
||
| Joker Profil |
#3 · Zasláno: 6. 3. 2015, 15:11:04
Nicméně místo dědičnosti by v té situaci fungovalo skládání:
class Jadro {
public $hlava;
// …
}
//…
$jadro = new Jadro();
$jadro->hlava = new Hlava(); |
||
|
Časová prodleva: 3 dny
|
|||
| hellmc Profil |
#4 · Zasláno: 9. 3. 2015, 14:04:41
Ďakujem ... páni
|
||
| joe Profil |
#5 · Zasláno: 9. 3. 2015, 19:35:59
Ještě lépe je závislost předsat, pokud je povinná, pak přes konstruktor, pokud ne, tak přes setter.
|
||
|
Časová prodleva: 11 let
|
|||
0