PHP入門(8) 面向物件(1) 方法和屬性的覆蓋 訪問父類
阿新 • • 發佈:2019-02-19
<?php
class _Parent{
//子類中無法訪問父類private屬性 protected可以
private $data = "parent";
protected $data2 = "protected data";
public function _print()
{
echo $this->data . "<br>";
}
}
class childA extends _Parent{
}
class childB extends _Parent{
protected $data = "childB";
// 覆蓋父類的屬性
// 覆蓋父類的方法
public function _print()
{
echo $this->data . "<br>";
}
}
class childC extends _Parent{
public function other(){
// echo $this->data; 錯誤 不能訪問父中 private屬性
echo $this->data2;
}
//錯誤 無法過載方法 若要重寫 必須引數和返回值相同
public function _print($d)
{
echo $this->data2 . $d;
}
}
$A = new childA();
$B = new childB();
$C = new childC();
$A->_print();
$B->_print();
$C->other();
//錯誤 PHP不支援方法的過載
$C->_print(",hi");
?>