php物件導向中抽象類與介面的使用

2021-06-21 16:18:02 字數 1197 閱讀 7849

介面and抽象類

**示例:

// 介面

/*介面方法不能用 public private protected static abstract final 等修飾詞修飾

系統會將方法指定死為 public abstract

成員屬性只能是靜態常量 const

介面可以多繼承 implements n

*/inte***ce obj

abstract class r implements obj

}class router extends r

function del(){}

}// 抽象類

/*抽象類(abstract class class_name)裡面至少有乙個抽象方法(abstract function func_name(); 沒有abstract修飾的方法 function func_name(); 會報錯 說方法沒有結構體)

全是抽象方法也可以

抽象類裡面允許有(各種許可權的)屬性

抽象類單繼承 extends 1

*/abstract class base

}abstract class ext extends base

/*public function exp()

*/}}

總結:

1) 抽象方法 abstract function func_name();

2) 介面的方法不允許用修飾詞(系統指定死為 abstract public) 屬性必須用const

定義繼承

方法屬性

抽象類abstract class class_name 

extends 1 

至少乙個抽象方法 

屬性可以是各種許可權

介面inte***ce if_name

implements n

全部抽象方法,不允許修飾詞 

屬性只能是靜態常量 const

實現 抽象類/介面 部分方法的class是抽象class

理解:

抽象類 定義好的封裝類 給使用者一些可擴充套件的自由,使用者自由實現自己的方法

介面 嚴格的結構限制

PHP物件導向 介面類 抽象類

php物件導向在初學時就應該熟練掌握,但許久不用,總會生疏,在此補充記憶物件導向介面和抽象的概念。1.定義乙個介面 inte ce icaneat想實現此介面則需要實現eat方法,2.實現介面 class human implements icaneat 判斷是否實現介面 var dump man ...

php中抽象類與介面的區別

1,抽象類繼承extends 介面的繼承implements 2,介面沒有資料成員,但是抽象類有資料成員,而且可以進行封裝 3,介面沒有建構函式 4,介面中只能使用public修飾符,抽象類可以使用public,protected,private 5,乙個類可以繼承多個介面,但是只能繼承乙個抽象類。...

PHP抽象類與介面的異同

抽象類與介面的異同 一 相同點 1.兩者都是抽象類,都不能例項化 2.inte ce實現類及abstract class的子類都必須要實現已經宣告的抽象方法 二 不同點 1.inte ce需要實現,要用implements,而abstract class需要繼承,要用extends 2.乙個類可以實...