本篇文章跟大家介紹一下PHP物件導向的繼承。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
一、簡介
1、繼承是從一個基底類別得到一個或多個類別的機制,可以實現對類別的複用
2、子類別將繼承父類別的屬性和方法,同時可以擴充父類別
二、如何繼承一個類別
1、PHP是單繼承的,一個類別只可以繼承一個父類,但一個父類別卻可以被多個子類別所繼承。
2、子類別不能繼承父類別的私有屬性和私有方法
3、類別的方法可以繼承,類別的建構子也能被繼承
4 、繼承的方法:使用extends關鍵字
//定义一个基类 class Book{ public $name; public $price; private $page; public function __construct($name){ $this->name = $name; } public function getName(){ return $this->name; } } //定义一个子类,并继承基类 class NoteBook extends Book{ } //实例化子类,并继承基类构造方法 $notebook = new NoteBook('book'); //子类继承的属性 echo $notebook->name;//结果为book //子类继承的属性 echo $notebook->getName();//结果为book //子类不能访问基类的私有属性 echo $notebook->page; //错误
三、如何繼承一個類別
1、可以在類別的屬性和方法前面加上一個修飾符,來對類別進行一些存取上的控制
2、private : 不能直接被外部調用,只能在當前類別的內部調用
3、protected : 修飾的屬性和方法只能被目前類別內部或子類別調用,外界無法調用
4、public : 修飾的屬性和方法,可以無限制地調用
# 四、重寫
# 1、如果從父類別繼承的方法不能滿足子類別的需求時,可以對其進行改寫,這個過程叫方法的重寫。
2、子類別中覆寫的方法,不能使用比父類別被覆寫方法更嚴格的存取權限。
3、父類別的建構方法,也可以重寫。
//定义一个子类,并继承基类 class NoteBook extends Book{ //覆写基类的方法 public function getName(){ return 'The book name is'.$this->name; } }
五、parent:: 關鍵字
1、使用parent::來引用父類別的方法,同時也可以用來呼叫父類別中定義的成員方法。
public function getName(){ //调用父类的方法 return 'The book name is '.parent::getName(); }
推薦學習:PHP影片教學
#以上是淺談PHP物件導向的繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!