* Thus wrote Marek Kilimajer: > Chris wrote --- napísal:: > >if anyone can, would you please explain why the below code does what it > >does? I would expect $this->test in TestInstance to refer to the > >inherited $test from Test. Using php5RC3. Thanks. > > > ><?php > >abstract class Test { > > private $test; > > abstract public function addToTest($i); > >} > > > >class TestInstance extends Test { > > public function __construct() { > > $this->test = 0; > > } > ... > > The variable is private for Test, so TestInstance does not have access > to it. By assigning 0 to $this->test in the constructor of TestInstance, > you create a new property of TestInstance that is public (the default). > > var_dump() shows it clearly: > object(TestInstance)#1 (2) { > ["test:private"]=> NULL <---- belongs to Test > ["test"]=> int(3) <---- belongs to TestInstance > }
I think one could argue that that test:private shouldn't even be there. To me that test:private would imply that is TestIntance's private variable. Curt -- First, let me assure you that this is not one of those shady pyramid schemes you've been hearing about. No, sir. Our model is the trapezoid! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php