* 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

Reply via email to