B類的對象擁有A類的全部屬性與行為,稱作B對A類的繼承。
假如一個類從多個類中繼承了屬性與服務,這稱為多繼承,通常我們成為繼承類為子類被繼承類為父類,
在PHP中只有單繼承,但一個父類可以被多個類繼承,但是一個子類只能有一個父類,但是允許關聯繼承,通過繼承可以減化類的定義。
extende聲明繼承關系
語法格式:class B extends A 此范例指明 B繼承了A
~~~
class osman extends Person{
//繼承
}
~~~
類的外部訪問對子類是有效的
子類繼承父類的所有內容,但父類中的private部分不能直接訪問
子類中新增加的屬性和方法是對父類的擴展
子類中定義的與父類同名的屬性是對父類屬性的覆蓋,同名的方法也是對父類方法的覆蓋
* * * * *
**重寫的方法**
在子類中,使用parent訪問父類中的被覆蓋的屬性和方法
class osman extends Person{
parent::__construce();
parent::$name;
parent::fun();
}
對象比較
===兩個比較運算符。
==是比較兩個對象的內容。
===是比較對象的句柄,即引用地址。
instanceof操作符用于檢測對象實例是否屬于某一個類 屬于返回true 不屬于返回false
__clone()如果想在克隆后改變原對象的內容,需要在__clone()中重寫原本的屬性和方法
function __clone(){
$this->name="我是一個克隆人";
}