PHP: Как вызвать функцию дочернего класса из родительского класса - PullRequest
54 голосов
/ 22 декабря 2009

Как мне вызвать функцию дочернего класса из родительского класса? Учтите это:

class whale
{
  function __construct()
  {
    // some code here
  }

  function myfunc()
  {
  // how do i call the "test" function of fish class here??
  }
}

class fish extends whale
{
  function __construct()
  {
    parent::construct();
  }

  function test()
  {
    echo "So you managed to call me !!";
  }

}

Ответы [ 12 ]

0 голосов
/ 16 сентября 2017

Это очень просто. Вы можете сделать это без абстрактного класса.

class whale
{
  function __construct()
  {
    // some code here
  }

  /*
  Child overridden this function, so child function will get called by parent. 
  I'm using this kind of techniques and working perfectly.  
  */
  function test(){
     return "";
  }

  function myfunc()
  {
    $this->test();
  }
}

class fish extends whale
{
  function __construct()
  {
    parent::construct();
  }

  function test()
  {
    echo "So you managed to call me !!";
  }

}
0 голосов
/ 22 декабря 2009

что если кит не растянут? к чему приведет этот вызов функции? К сожалению, нет способа сделать это.

О, а рыба вытягивает кита? Рыба это рыба, кит это млекопитающее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...