PHP學習(十九) 抽象類與介面

2021-07-11 06:15:37 字數 604 閱讀 8704

抽象類和介面像是,都是一種比較特殊的類,它們通常配合物件導向的多型性一起使用。

在oop語言中,乙個類可以有乙個或多個子類,而每個類都有至少乙個公有方法作為外部**訪問它的介面。而抽象方法就是為了方便繼承而引入的。抽象方法就是沒有方法體的方法,所謂沒有方法體是指在方法宣告時沒有花括號及其中的內容,而是在宣告方式時直接在方法名後加上分號結束,另外在宣告抽象方法時,還要使用關鍵字abstract來修飾。

abstract

function

fun1

();

只要在宣告類時有乙個方法是抽象方法,那麼這個類就是抽象類,抽象類也要使用abstract關鍵字來修飾。

因為php只支援單繼承,也就是說每個類只能繼承乙個父類。當宣告的新類繼承抽象類實現模板以後,它就不能再有其他父類了。為了解決這個問題,php引入了介面,介面是一種特殊的抽象類,而抽象類又是一種特殊的類。介面中宣告的方法必須都是抽象方法,另外不能再介面中宣告變數,只能使用const關鍵字宣告常量的成員屬性,而且介面中所有成員都必須有public的訪問許可權。

inte***ce 介面名稱{}

抽象類與介面學習

abstract 類 如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類 1.abstract 類不能直接被例項化 2.abstract 方法不能在它的類中實現,必須在其子類中實現 3.採用abstract方法的類就是抽象類,並且必須被宣告為abstract.4.僅當abstra...

php介面 抽象類

定義為抽象的類不能被例項化。任何乙個類,如果它裡面至少有乙個方法是被宣告為抽象的,那麼這個類就必須被宣告為抽象的。抽象類可以沒有抽象方法,但是抽象類依然不能被例項化 被定義為抽象的方法只是宣告了其呼叫方式 引數 不能定義其具體的功能實現。如abstract class abstractclass a...

介面與抽象類

介面與抽象類區別 個人總結 語法結構 1 型別可以繼承多個介面,但是只能繼承乙個抽象類,即不支援多重繼承。2 介面可以用於值型別和引用型別,例如struct和class,而抽象類不能用於值型別,只能用於引用型別。3 抽象類定義可以包括建構函式,字段資料,非抽象成員 具體實現 等,而介面只能包括抽象成...