PHP物件導向程式設計之介面用法_php技巧

來源:互聯網
上載者:User

介面是PHP物件導向程式設計中非常重要的一個概念。本文以執行個體形式較為詳細的講述了PHP介面的用法。具體如下:

介面:interface

在PHP中,我們可以規定,一個對象應該具有哪些公用的外部操作,即可使用interface來規定。
公用的方法就是介面。用於規定一個對象應該用於哪些公用的操作方法(介面),這個也叫介面(公用操作方法的集合)
即:介面(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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.