class A
{
    public function x()
    {
        echo "Public function in class A<br />";
    }
    private function y()
    {
        echo "Private function in class A<br />";
    }
    public function expose()
    {
        $this->x();
        $this->y();
    }
}
class B extends A
{
    public function x()
    {
        echo "Public function in class B<br />";
    }
    private function y()
    {
        echo "Private function in class B<br />";
    }
}
$y = new A;
$y->expose();
$z = new B;
$z->expose();
クラス A のインスタンス化により、次の結果が生成されます。「クラス A のパブリック関数 クラス A のプライベート関数」
クラス B のインスタンス化により、次の結果が生成されます。「クラス B のパブリック関数 クラス A のプライベート関数」
クラスBのインスタンス化の結果を説明できる人はいますか? クラスAの親メソッドではなく、「B」のプライベートメソッドを呼び出すべきではありませんか?