0

私はクラスを持っています

class foo {

  function do_something() {
      load();
  }

  function load() {
     //things
     echo 'load from foo';
  }
}

そして、foo を拡張する別のクラス (子クラス):

class bar extends foo {

  function load() {
     //things
     echo 'load from bar (child)';
  }

}

その後:

$obj = new bar();

私が知りたい$obj->do_something()のは、メソッドが foo クラスで宣言されたメソッドの代わりに子の「load」メソッドを使用するように呼び出す方法です。

したがって、出力は次のようになります。

$obj->do_something();

出力: load from bar (child)

これはPHPで可能ですか?

ありがとう!

4

4 に答える 4

0

抽象クラスと抽象メソッドを使用できます:

abstract class Foo{
   function test() {
      $this->method();
   }
   abstract function method();
}
class Test extends Foo {
   function method() {
      echo 'class Test';
   }
}
$test = new Test();
$test->test();
于 2013-05-11T15:58:16.327 に答える