首頁 > 後端開發 > php教程 > php物件導向介面是什麼?如何使用?

php物件導向介面是什麼?如何使用?

伊谢尔伦
發布: 2023-03-11 21:56:01
原創
2276 人瀏覽過

介面是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

####範例如下:###rrreee###運行輸出:3.14###

以上是php物件導向介面是什麼?如何使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板