目前共有1篇帖子。
【關係】php中基類和子類的同名屬性的調用關係
1樓 巨大八爪鱼 2016-2-18 17:53
<?php
class Par {
    private $data;
    
    public function setParentData() {
        $this->data = 'Parent';
    }
    
    public function showParentData() {
        echo 'Par::data = ', $this->data, '<br>';
        echo 'I know you have $', $this->money, '.<br>';
        echo 'But I don\'t know your data.<br>';
    }
}

class Me extends Par {
    public $data;
    public $money;
    
    public function setData() {
        $this->data = 'Me';
        $this->money = 63;
    }
    
    public function showData() {
        echo 'Me::data = ', $this->data, '<br>';
        echo 'Me::money = ', $this->money, '<br>';
    }
}

$me = new Me();
$me->setData();
$me->setParentData();
$me->showParentData();
$me->showData();

輸出:
Par::data = Parent
I know you have $63.
But I don't know your data.
Me::data = Me
Me::money = 63

所以,當父類的data變數為private時,父類不能訪問子類的同名變數data,子類也不能通過parent::$data訪問父類的data變數。

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。