首頁 > 後端開發 > php教程 > php 靜態函數中$this的問題

php 靜態函數中$this的問題

WBOY
發布: 2016-10-23 23:59:57
原創
1077 人瀏覽過

class A{

<code>    public $age = 50;
    private $money = 2000;
    static public $head = 1;
    public function tell(){
            echo $this->age,'<br />';
            echo self::$head,'<br />';
    }
    static public function sayMoney(){
            echo $this->money,'<br />';
    }</code>
登入後複製

}
class B extends A{

<code>    public $age = 22;
    private $money = 10;
    public function subtell(){
            parent::tell();
            echo $this->age,'<br />';
    }
    public function subMoney()
    {
            parent::sayMoney();
            echo $this->money,'<br />';

    }</code>
登入後複製

}

$b = new B();
$b->subtell();//22 1 22;

echo '


';
$b->subMoney();

最後一句話報錯Using $this when not in object context
但在呼叫subMoney()時不就綁定了$this,$this指向b對象,之後執行parent ::sayMoney();由於靜態調用,所以不綁定$this.在sayMoney()執行的時候不應該得到2000嗎,為什麼會報錯,和前面$b->subtell();調用有啥不一樣

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板