Autor Zpráva
johndoe
Profil
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 *
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
Díky, pomohlo moc ! :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0