[Resolvido] não ficou claro o resultado deste exemplo
não entendi o resultado desse exemplo do site do php.net
pensei assim:
como a classe Foo faz a sobrescrita do método testPublic() logicamente ele será acionado.
o método private não é herdado pela classe filha, logo um método independente chamado testPrivate() é criado na classe Foo.
Não entendi a saída de: "Bar::testPrivate" já que Foo não tem acesso a este método e deveria acessar o seu método testPrivate() imprimindo "Foo::testPrivate".
alguém pode ajudar?
<?php
class Bar
{
public function test() {
$this->testPrivate();
$this->testPublic();
}
public function testPublic() {
echo "Bar::testPublic";
}
private function testPrivate() {
echo "Bar::testPrivate";
}
}
class Foo extends Bar
{
public function testPublic() {
echo "Foo::testPublic";
}
private function testPrivate() {
echo "Foo::testPrivate";
}
}
$myFoo = new foo();
$myFoo->test();
/* RESULTADO:
Bar::testPrivate
Foo::testPublic
*/
Discussão (4)
Carregando comentários...