| Autor | Zpráva | ||
|---|---|---|---|
| johndoe Profil |
#1 · Zasláno: 18. 9. 2006, 14:41:58
Ahoj,
s objekty si zatím jen pohrávám, dotaz taky podle toho vypadá :( mám class A { public $jmeno; function A (){ $this->$jmeno = "Pepa"; } } class B extends A { function B() { echo $this->jmeno; } } $b = new B; ... no, mam to trochu komlikovaněji, ale jdo o to, že v rámci B je hodnota $jmeno prázdná ... chtěl bych tedy vědět, jak $jméno poskytnout objektu B ... PS, při hledání odpovědi jsem narazil na operátor :: ... jen mi nějak nedochází jeho smysl ... díky moc |
||
| Anonymní Profil * |
#2 · Zasláno: 18. 9. 2006, 14:57:47
tak poporiadku
predpokladam ze mas php5 ked pouzivas slovo public.. v php5 je konstruktorom specialna metoda __construct() ovsem pre podporu starsich skriptov i nazov triedy... zadalsie, syntax error: $this->$jmeno = "Pepa"; namiesto toho: $this->jmeno="neco"; dalej pokial deklarujes v A: public $jmeno; jeho hodnota sa nastavi na NULL a zmeni sa len v konstruktore triedy A v triede B mas konstruktor cize konstruktor rodica sa nezavola, toto je mozne pomocou operatora :: nasledovne (PHP5) parent::__construct(), v tvojom pripade (kedze nevolas metodu __construct) su vsak mozne i tieto moznosti: parent::A() $this->A(); dufam ze pomohlo |
||
| johndoe Profil |
#3 · Zasláno: 18. 9. 2006, 15:08:12
Díky, pomohlo moc ! :)
|
||
|
Časová prodleva: 19 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0