物件導向的繼承

2022-03-11 01:41:45 字數 2576 閱讀 5603

一、目標:

清除重複**

二、實現:

1. 將重複**提取出來

2. 建立聯絡    extends 關鍵字  詞義是擴充套件 用於繼承

三、什麼是父類 和子類

被繼承的類  成為父類(基類)

繼承其他類的類 成為 子類 (派生類)

四、繼承的特性(重點重點)

a) php只支援單繼承 只能有乙個爹

b) php可以被多個繼承 乙個爹可以有多個兒子

c) php支援多層繼承  可以有祖孫關係

b繼承a,c

繼承b

,那麼c

裡面就有

abc三個類裡面的所有內容

d) 子類會擁有父類中的所有內容但是有部分內容無法訪問(封裝

)五、屬性繼承(重寫 重構

)

子類裡面的屬性會覆蓋父類中的同名屬性

訪問屬性的時候一定是最終結果(被子類覆蓋的結果,除了私有的

)

許可權只能擴大

不能縮小

父類

子類

public

public

protected

public protected

private

public protected private

六、方法繼承(重寫 重構

)

子類裡面的方法會覆蓋父類中的同名方法

訪問方法的時候一定是最終的結果(被子類覆蓋之後的結果 除了私有的

)

重寫的時候

引數結構(引數個數

和引數是否有預設值)建議保持一致

許可權只能擴大

不能縮小

父類

子類

public

public

protected

public protected

private

public protected private

5.可以呼叫父類中的方法

需要使用範圍操作符

::    a::say()   parent::say()

parent 代表的是父類

要求

: 重寫構造方法的時候 務必在第一行呼叫父類中的構造方法

七、關鍵字

final (最終的

)(掌握)

final 可以修飾類和方法

被修飾的類不能被繼承

被修飾的方法不能重寫

2.static

a)可以修飾屬性和方法

不能修飾類

b)靜態成員需要使用範圍操作符來訪問 a::$name 如果你訪問的是靜態屬性一定要加上$a::say()

c)靜態的成員方法裡面不能出現非靜態內容 $this 和非靜態成員

d)靜態方法裡面只能使用靜態屬性

3.const

可以在類裡面定義常量

值保留類裡面的屬性預設值特性

類裡面定義的常量

需要使用範圍操作符類訪問

a::db b::db

4.define

不能在類裡面定義常量

5.運算子 instanceof

判斷前面的這個物件是否是後面這個類的例項

祖輩關係都行

物件導向。物件的繼承

1.原型繼承 將父類的例項賦值給子類的原型 這就是原型繼承 將父類的私有和公有都繼承在子類的原型上,成為子類的公有屬性。2.call繼承 將父類私有的繼承為子類私有的 3.冒充物件繼承 將父類私有的和公有的都繼承為子類私有的 4.混合繼承 私有的繼承為私有的,公有的和私有的再次繼承為公有的 混合繼承...

物件導向的 繼承

1 什麼是繼承 繼承是一種新建類的方式,新建的類稱之為子類,被繼承的類稱之為基類 父類 超類 繼承描述的是一種 遺傳 的關係 子類可以重用父類的屬性 在python中的繼承注意兩點 1.在python中支援乙個子類同時繼承多個父類,2.python中類分為兩種 新式類 但凡繼承object的類,以及...

物件導向的繼承

1.多個類中存在相同的屬性和內容,那麼我們就可以吧相同的得屬性和行為存放在單獨的類中,那麼 那些類就不用每次單獨的宣告這些屬性和行為了.2.多個屬性相同的類稱之為子類,那個單獨的類就稱之為父類.3.繼承描述的事事物之間的所屬關係,比如講師是員工 講師就是子類,員工就是父類 4.總的來說就是父類更通用...