C++では、Piyoインスタンスでfuncを呼び出せば、hello!が出力される。
class Hoge { public: virtual ~Hoge () { // do nothing } void func () { a (); } private: void a () { throw "boo!"; } }; class Piyo : public Hoge { private: void a () { print ("hello!"); } }
PHP では、protected でなければ関数が見つけられない。
さらに、親と子は同じアクセス制限にする必要がある。
class Hoge { public function func () { $this->a (); } protected function a () { throw new BadMethodCallException (); } }; class Piyo : public Hoge { protected function a () { print ("hello !"); } }