Maison > développement back-end > tutoriel php > php手册当中的问题

php手册当中的问题

WBOY
Libérer: 2016-06-06 20:21:24
original
1100 Les gens l'ont consulté

<code class="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</code>
Copier après la connexion
Copier après la connexion

请大神解释下这段代码,就最后面输出为什么是这样?

回复内容:

<code class="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</code>
Copier après la connexion
Copier après la connexion

请大神解释下这段代码,就最后面输出为什么是这样?

private 可见度的方法不存在继承一说,所以调用方法在哪个类里,就是调用那个类对应的private方法(如果不存在就报错了)

坑爹的继承链方法调用..会把很多人绕晕..

建议看看c语音实现class和继承...你就会明白很多

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal