首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 繼承機制完整解析:語法、特性與注意事項

     編輯:PHP 綜合知識

繼承讓子類別復用父類別的非私有成員,PHP 採單一繼承模型。

基本語法

class 子類別 extends 父類別 {
    // 子類別專屬成員
}

核心特性

  1. 可繼承:public、protected 屬性與方法。
  2. 不可繼承:private 成員。
  3. 單一繼承:一個子類別只能直接繼承一個父類別,可透過多層繼承間接達成多重繼承效果(C extends B extends A)。
  4. 建構子不自動鏈結:建立子類別物件時不會自動呼叫父類別建構子,需在子類別建構子中顯式呼叫 parent::__construct(...) 或 父類別名::__construct(...)。
  5. 方法覆寫:子類別定義相同名稱方法會覆寫父類別,存取權限必須 ≥ 父類別(如父為 public,子不可為 protected)。

程式碼範例

<?php
class Stu { public $name; protected $age; public function showInfo(){ echo $this->name."||".$this->age; } }
class Pupil extends Stu { public function testing(){ echo "小學生考試"; } }
class Graduate extends Stu { public function testing(){ echo "研究生考試"; } }

$stu1=new Pupil(); $stu1->testing(); $stu1->name="www.bianceng.cn"; $stu1->showInfo();
$stu2=new Graduate(); $stu2->testing(); $stu2->name="hello"; $stu2->showInfo();
?>

建構子鏈結範例

class A { public $n1=90; public function __construct($n1){ $this->n1=$n1; echo "A建構"; } }
class B extends A {
    function __construct(){
        echo "B建構";
        parent::__construct(900); // 顯式呼叫父建構子
    }
}
$b=new B(); echo $b->n1; // 900
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved