It's still a member, it just can't be accessed by the sub-class's methods. If you call the parent's methods or a method in the parent is called that isn't defined in the subclass, the private property is still there are still used as normal.
On Wed, 23 Jun 2004 18:35:14 -0400, Chris <[EMAIL PROTECTED]> wrote: > > ok, i understand now that private members are NOT inherited. i guess it > was just throwing me off that var_dump()/print_r() display the parents > private member, even tho its not really a member of the subclass. > > thanks > > Marek Kilimajer wrote: > > 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; > >> } > >> > >> public function addToTest($i) { > >> $this->test += $i; > >> } > >> } > >> > >> $t = new TestInstance(); > >> $t->addToTest(3); > >> > >> var_dump($t); > >> > >> // test var SHOULD be private > >> echo "private test (shouldn't be able to access it directly, but i > >> can): ".$t->test."\n\n"; > >> > >> /* > >> output > >> ------------------------------- > >> object(TestInstance)#1 (2) { > >> ["test:private"]=> > >> NULL > >> ["test"]=> > >> int(3) > >> } > >> private test (shouldn't be able to access it directly, but i can): 3 > >> */ > >> ?> > >> > > > > 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 > > } > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- paperCrane --Justin Patrin-- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php