欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之接口用法

 更新時(shí)間:2014年08月20日 15:54:56   投稿:shichen2014  
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)的接口用法,對(duì)PHP程序設(shè)計(jì)人員來說是有必要牢固掌握的概念,需要的朋友可以參考下

接口是PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中非常重要的一個(gè)概念。本文以實(shí)例形式較為詳細(xì)的講述了PHP接口的用法。具體如下:

接口:interface

在PHP中,我們可以規(guī)定,一個(gè)對(duì)象應(yīng)該具有哪些公共的外部操作,即可使用interface來規(guī)定。
公共的方法就是接口。用于規(guī)定一個(gè)對(duì)象應(yīng)該用于哪些公共的操作方法(接口),這個(gè)也叫接口(公共操作方法的集合)
即:接口(interface結(jié)構(gòu),公共方法集合)

公共方法(接口方法)
定義:用于限定某個(gè)對(duì)象所必須擁有的公共操作方法的一種結(jié)構(gòu),稱之為接口(interface)
語法:定義接口結(jié)構(gòu),使用interface關(guān)鍵字。接口內(nèi)定義的都是一些公共方法。

interface接口名
{
公共操作方法列表
}

例子如下:

interface I_Goods
{
public function sayName();
public function sayPrice();
}

注意:
1.接口方法,訪問權(quán)限必須是公共的 public
2.接口內(nèi)只能有公共方法,不能存在成員變量
3.接口內(nèi)只能含有未被實(shí)現(xiàn)的方法,也叫抽象方法,但是不用abstract關(guān)鍵字。

類實(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)該接口的類,必須實(shí)現(xiàn)接口內(nèi)所有的抽象方法。而且可以肯定,該方法一定是公共的外部操作方法。

多實(shí)現(xiàn):該功能,在理論上可以通過抽象類來實(shí)現(xiàn),但是抽象類,不專業(yè)。
使用接口則專業(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ì)象接口的支持,可以定義類常量

例子如下:

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

相關(guān)文章

最新評(píng)論