1
数週間前にPHPを学びましたが、今ではPHPの多型について少し知りたいと思います。私はこのような何かで立ち往生:PHPの多態性
class A{
var $n = 0;
public function f1(){
$this->n += 4;
$m = f2();
return $this->n + $this->m;
}
public function f2(){
$this->n += 1;
return $this->n;
}
public function f3(){
f1();
return $this->n;
}
class B extends A{
public function f1(){
$this->n -= 4;
$m = f2();
return $this->n - $this->m;
}
public function f2(){
$this->n += $this->n;
return $this->n;
}
}
$b = new B();
$b->n = 4;
echo $b->f1()." ";
echo $b->f2()." ";
echo $b->f3()." ";
それはエラーがあります。
Fatal error: Call to undefined function f2()
しかし、関数f2は()ライン$m = f2();
上で言及されています。
このケースで何が問題になっていますか? ご協力いただきありがとうございます!
f2関数を '$ m = $ this-> f2();' – Pierre
で呼び出そうとしていますSidenote: '$ this-> n + $ this-> m;'と 'return $ this - > n - $ this-> m; '、クラスAもクラスBもインスタンス変数mを持たず、 –