所以我想解決我在設計PHP類時遇到的問題。我創建了一個基類,並分配了私有變量。我有擴展這個基類的子類,它通過基類的功能引用和改變這些私有變量。下面是一個例子,記住我仍然感到困惑private
和protected
方法之間的區別/變量(讓我知道如果我做錯了!):PHP從兒童私人變量訪問
base.class.php
<?php
class Base {
private $test;
public function __construct(){
require('sub.class.php');
$sub = new Sub;
echo($this->getTest());
}
public function getTest(){
return $this->test;
}
protected function setTest($value){
$this->test = $value;
}
}
?>
sub.class.php
<?php
class Sub extends Base {
public function __construct(){
parent::setTest('hello!');
}
}
?>
所以我希望得到的結果是hello!
印在屏幕上 - 而不是沒有什麼。對我來說,可能存在對課程的基本誤解,或者我只是在做錯事。任何指導非常感謝!謝謝。
編輯:
謝謝大家誰貢獻一個答案 - 我認爲,儘管優秀的解決方案,該子類實際上是不是我所需要的 - 這似乎委託類可能是在這一點上更加有用,因爲我並不需要從其他類中引用Base函數。
嘗試回聲($子> getTest()); – bumperbox
試試[PHP5 OOP](http://www.php.net/oop5)。 – meze
沒有任何'echo'或'print'輸出屏幕上的內容 – zerkms