PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Class inside class
Postitaja: joker 2011-08-22 00:19:32
Script:

class A
{
public $data = 1;
function __construct()
{
$b = new a();
}
}
class B
{
...
echo class A $data;
...
}


Kuidas lugeda klassis B klassi A $data väärtust?

Viimati muudetud: 22-08-2011 00:23:52
Muutja: joker
Põhjus:

RE: Class inside class
Postitaja: asd 2011-08-22 05:12:59
class a {
public $data = 123;
}

class b extends a{
function __construct(){
echo $this->data;
}
}

new b();
RE: Class inside class
Postitaja: Tark 2011-08-22 09:40:05
Ütle klassi A ja B tegelikud nimed ja siis saab sulle vastata, mis seoses nad omavahel on ja kuidas omavahel suhtlevad.
RE: Class inside class
Postitaja: blaa 2011-08-22 10:27:45
nii saab staatilise klassi puhul

echo A::$data;
RE: Class inside class
Postitaja: ise php 2011-08-22 12:41:30
teine klass peab olema teise extends klass, siis saad


PHP kood:
 
class A
 
{
 public 
$data 1;

 public function 
andmed(){
 return 
$this -> data;
 }
 
 }
 
 class 
extends 
 
{
public function 
__construct() { 
     echo  
parent::andmed();
      }


 }
 
 
// ********** proov 
 
 
$be =new B;
RE: Class inside class
Postitaja: täiendus 2011-08-29 19:26:16
Lisaks, et sõsarklassid saavad kasutada ka protected liikmeid - nii muutujaid kui meetodeid. Lisaks saab emaklass õigused kasutada sõsarklassi instantsi(objekti) protected liikmeid, kui too asetada emaklassi sisse:

class A {
protected $name = 'juku';
public function getNameFromB(B $obj) {
return $obj->age;
}
}

class B extends A {
protected $age = 25;
public function __toString() {
return $this->name . ', ' . $this->age;
}
}

$a = new A();
$b = new B();

echo $a->getNameFromB($b), '<br />', PHP_EOL;
echo $b;

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0933289527893