class method visibility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I read the manual about  method visibility, but i can't understand the
code below:
<?php
class Bar
{
    public function test() {
        $this->testPrivate();
        $this->testPublic();
    }

    public function testPublic() {
        echo "Bar::testPublic\n";
    }

    private function testPrivate() {
        echo "Bar::testPrivate\n";
    }
}

class Foo extends Bar
{
    public function testPublic() {
        echo "Foo::testPublic\n";
    }

    private function testPrivate() {
        echo "Foo::testPrivate\n";
    }
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
                     // Foo::testPublic
?>

in class Bar's method test, why "$this->testPrivate();"  invoked
testPrivate method of class Bar,
but not the testPrivate of class Foo?  here $this shoud be the
reference of the instance of class Foo,
isn't it?


--
JeremyWei(魏志锋,字静之)
Mob: 18914495716
新浪微博:@JeremyWei
QQ: 327493482
Home: www.weizhifeng.net
Less is more

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux