今天再看PHP手冊(cè)時(shí)候發(fā)現(xiàn)一個(gè)問(wèn)題,那就是PHP子類(lèi)對(duì)象不能直接訪問(wèn)父類(lèi)的屬性,這實(shí)在讓人疑惑,現(xiàn)在先記錄,以后看有什么解釋沒(méi)有。例子:
class MyClass
{
? ? public $public = 'Public';
? ? protected $protected = 'Protected';
? ? private $private = 'Private';
? ? function printHello()
? ? {
echo "This is Myclass".PHP_EOL;
? ? ? ? echo $this->public.PHP_EOL;
? ? ? ? echo $this->protected,PHP_EOL;
? ? ? ? echo $this->private,PHP_EOL;
? ? }
}
class MyClass2 extends MyClass
{
public $public = 'Publi2c';
? ? protected $protected = 'Protected2';
? ? function printHello2()
? ? {
? ? ? ? echo $this->public.PHP_EOL;
? ? ? ? echo $this->protected,PHP_EOL;
? ? ? ? echo parent::$public,PHP_EOL; //此時(shí),會(huì)報(bào)錯(cuò),Uncaught Error: Access to undeclared static property: MyClass::$public?
? ? }
}
$obj2 = new MyClass2();
$obj2->printHello2();