|
接口是php面向?qū)ο蟪绦蛟O(shè)計(jì)中非常重要的一個(gè)概念。本文以實(shí)例形式較為詳細(xì)的講述了php接口的用法。具體如下:
接口:interface
在php中,我們可以規(guī)定,一個(gè)對(duì)象應(yīng)該具有哪些公共的外部操作,即可使用interface來(lái)規(guī)定。
公共的方法就是接口。用于規(guī)定一個(gè)對(duì)象應(yīng)該用于哪些公共的操作方法(接口),這個(gè)也叫接口(公共操作方法的集合)
即:接口(interface結(jié)構(gòu),公共方法集合)
公共方法(接口方法)
定義:用于限定某個(gè)對(duì)象所必須擁有的公共操作方法的一種結(jié)構(gòu),稱(chēng)之為接口(interface)
語(yǔ)法:定義接口結(jié)構(gòu),使用interface關(guān)鍵字。接口內(nèi)定義的都是一些公共方法。
interface接口名{公共操作方法列表}
例子如下:
interface I_Goods{public function sayName();public function sayPrice();}
注意:
1.接口方法,訪問(wèn)權(quán)限必須是公共的 public
2.接口內(nèi)只能有公共方法,不能存在成員變量
3.接口內(nèi)只能含有未被實(shí)現(xiàn)的方法,也叫抽象方法,但是不用abstract關(guān)鍵字。
類(lèi)實(shí)現(xiàn)接口,利用關(guān)鍵字implements完成。
例子:
interface I_Goods{public function sayName();public function sayPrice();}class Goods implements I_Goods{public function sayName(){}public function sayPrice(){}}
這樣,實(shí)現(xiàn)該接口的類(lèi),必須實(shí)現(xiàn)接口內(nèi)所有的抽象方法。而且可以肯定,該方法一定是公共的外部操作方法。
多實(shí)現(xiàn):該功能,在理論上可以通過(guò)抽象類(lèi)來(lái)實(shí)現(xiàn),但是抽象類(lèi),不專(zhuān)業(yè)。
使用接口則專(zhuān)業(yè)些,實(shí)現(xiàn)上,因?yàn)?span style="color: #0000ff">php支持多實(shí)現(xiàn),而僅支持單繼承。
例子如下:
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對(duì)象接口的支持,可以定義類(lèi)常量
例子如下:
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;
運(yùn)行輸出:3.14
php技術(shù):PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之接口用法,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。