php中類的繼承與程式碼複用
阿新 • • 發佈:2018-12-02
/**
* 類的繼承
* 1. 繼承是為了程式碼複用
* 2. php只支援單繼承
* 3. 父類也叫超類,基類,子類也叫派生類
*/
//宣告一個父類 class ParentClass{ public $name; protected $course; private $salary; const SITE_NAME = 'china'; //構造方法 public function __construct($name,$course,$salary) { $this->name = $name; $this->course = $course; $this->salary = $salary; } public function getCourse() { //受保護的成員,可以在子類中訪問 return $this->course; } //訪問本類私有成員 public function getSalary() { return $this->salary; } } //建立子類,繼承父類ParentClass class ChildClass extends ParentClass{ //什麼都不寫,仍然可以訪問父類中所有除了pravte外的成員 //子類中允許重寫父類中的同名方法, (多型) public function getCourse() { return $this->name.'所學的課程是'.parent::getCourse(); } //訪問本類私有成員 public function getSalary() { return $this->salary; } } $child = new ChildClass('小龍女','php',50000); echo '姓名:'.$child->name.'<br>'; echo '課程:'.$child->getCourse().'<br>'; //echo '工資:'.$child->getSalary().'<br>'; //不可訪問,如果子類沒有getsalary()方法,可以直接使用父類的方法訪問私有變數 echo ChildClass::SITE_NAME;