PHP物件導向 繼承(個人筆記)

2021-08-02 20:43:48 字數 1781 閱讀 2355

物件導向的三大特徵:封裝、繼承、多型

繼承:0.類的繼承性就是從父類派生(繼承

)出乙個子類,擁有了父類的全部屬性和方法

1.繼承了父類非私有的屬性(私有屬性可以檢視,但是不可以呼叫)

2.繼承**格式(例:父類

:[ class parent ] class son(

子類) extends(

繼承函式

)  parent{})

3.如果乙個子類的方法名和父類的方法名相同,那麼子類的方法自動覆蓋了父類的方法。(如果呼叫父類的方法,還是顯示原來父類的內容,子類和父類是兩個不同的類了)

4.如果子類繼承之後想用父類的方法,必須要在方法體內加乙個parent::方法()或者

$this->

方法(),推薦使用第乙個種,因為第二種容易使子類和父類結構上不清。

5.如果子類和父類的方法名是一樣的,那麼parent::方法()是呼叫父類的方法,

$thsi->

方法()是呼叫子類的方法 6.

對於父類的屬性的引用方法是:$this->屬性。屬性是不能區別是父類還是子類的。

(注意)

7.如果子類沒有繼承父類的構造和構析,則自動繼承父類的構造和構析

8.如果子類繼承了構造和構析,則不繼承父類的構造和構析

優點:1.復用**

2.支援設計模式(不了解)

final:

1.如果父類class 前新增

final

,則不可以被繼承

2.如果父類方法前新增final,則方法不可以被修改

類常量:

1.關鍵字:const;

2.const 常量名(大寫

)  =

常量值;

3.類內呼叫

a) 類名::常量

b) $this::常量

c) static::常量

d) self::常量

4.類外呼叫:

a) 類名::常量

b) 物件::常量

靜態屬性

1.靜態屬性就是在屬性前加了乙個static

2.靜態屬性不完全屬於物件(就是不可以直接呼叫)

靜態方法

作用:1.計算物件個數

2.單例設計模式

3.不用例項化就可以呼叫

4.效率是普通的4倍(還沒有體驗到)

5.這裡方法結束後要返回值(return)

魔術方法

1.__get(*);//要加上引數

1. 讀取不可以訪問屬性

2. 屬性的值或者不返回(需要

return)

3. 引數是屬性名

2.__set();//要加上引數

1. 更改不可訪問屬性

2. 引數是屬性名或者是屬性值

3. 沒有返回值(沒有return) 3.

__isset();

1. 當empty或者

isset

訪問不可訪問屬性時

2. 引數是屬性值

3. 返回是布林型

4.__unset();

1. 當unset()不可訪問屬性時

2. 引數是屬性名

3. 返回值沒有,不需要return

5.__call();

1. 呼叫乙個不可訪問的方法時

2. 方法名和引數列表(陣列)

3. 自定義

6.__callstaitc();

1. 呼叫乙個不可訪問的靜態方法時

2. 方法名和引數列表(陣列)

3. 自定義

php物件導向 繼承

1 繼承是從乙個基類或者父類得到乙個或者多個派生類,也叫作子類的機制。2 建立繼承樹首先找到現有基類元素不適合放在一起的,或者不需要特殊處理的,一般化。3 子類預設繼承父類所有的public和protected方法,不繼承private方法或屬性 構造方法與繼承 1 構造方法需要傳參給父類方法。2 ...

PHP物件導向 繼承

繼承是指子類可以繼承乙個或多個父類的屬性和方法,並可以重寫或新增新的屬性或方法。通過繼承已有的類,可以逐步擴充類的功能,提高 的可重用性。關鍵字 extends php中使用關鍵字extends可實現類的繼承 語法格式 class 子類名 extends 父類名 注意 php不支援多重繼承,即乙個子...

PHP物件導向繼承(二)

原以為多型是乙個什麼樣複雜的概念,其實很簡單。多型就是指方法的重寫,定義乙個父類 介面 各個子類不同,但必須有介面所定義的方法,因此,這些應用統一介面的類就都有介面中定義的規範,這樣就滿足了介面所定的要求。物件序列化 序列化 1 將物件轉成字串 不用看懂 序列化 2 將字串轉會物件 反序列化 注意 ...