mi hanno difficoltà a comprendere il motivo per cui si ottiene l'uscita di questo codice:Ereditarietà e visibilità - PHP
<?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();
?>
Così Foo estende Bar. $ myfoo è un obetto della classe Foo. Foo non ha un metodo, chiamato test(), quindi lo estende dalla barra principale. Ma perché il risultato del test() è
Bar::testPrivate
Foo::testPublic
Si può spiegare a me perché il primo non è Pippo :: testPrivate, quando il metodo di questo genitore viene sostituita nel bambino?
Grazie mille in anticipo!