介面是PHP物件導向程式設計中非常重要的一個概念。本文以執行個體形式較為詳細的講述了PHP介面的用法。具體如下:
介面:interface
在PHP中,我們可以規定,一個對象應該具有哪些公用的外部操作,即可使用interface來規定。
公用的方法就是介面。用於規定一個對象應該用於哪些公用的操作方法(介面),這個也叫介面(公用操作方法的集合)
即:介面(interface結構,公用方法集合)
公用方法(介面方法)
定義:用於限定某個對象所必須擁有的公用操作方法的一種結構,稱之為介面(interface)
文法:定義介面結構,使用interface關鍵字。介面內定義的都是一些公用方法。
例子如下:
interface I_Goods{public function sayName();public function sayPrice();}
注意:
1.介面方法,存取權限必須是公用的 public
2.介面內只能有公用方法,不能存在成員變數
3.介面內只能含有未被實現的方法,也叫抽象方法,但是不用abstract關鍵字。
類實現介面,利用關鍵字implements完成。
例子:
interface I_Goods{public function sayName();public function sayPrice();}class Goods implements I_Goods{public function sayName(){}public function sayPrice(){}}
這樣,實現該介面的類,必須實現介面內所有的抽象方法。而且可以肯定,該方法一定是公用的外部操作方法。
多實現:該功能,在理論上可以通過抽象類別來實現,但是抽象類別,不專業。
使用介面則專業些,實現上,因為php支援多實現,而僅支援單繼承。
例子如下:
interface I_Goods{public function sayName();public function sayPrice();}interface I_Shop{public function saySafe();}class Goods implements I_Goods , I_Shop{public function sayName(){}public function sayPrice(){}public function saySafe(){}}
介面之間也可以繼承
例子如下:
interface I_Goods{public function sayName();public function sayPrice();}interface I_Shop extends I_Goods{public function saySafe();}class Goods implements I_Shop{public function sayName(){}public function sayPrice(){}public function saySafe(){}}
php對象介面的支援,可以定義類常量
例子如下:
interface I_Goods{const PAI = 3.14;public function sayName();public function sayPrice();}interface I_Shop extends I_Goods{public function saySafe();}class Goods implements I_Shop{public function sayName(){}public function sayPrice(){}public function saySafe(){}}echo Goods::PAI;
運行輸出:3.14