国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP 類的接口 interface 與 implements 關(guān)鍵字 PHP 接口

sydMobile / 2334人閱讀

摘要:如果一個(gè)抽象類里面的所有方法都是抽象方法,且沒有聲明變量,而且接口里面所有的成員都是權(quán)限的,那么這種特殊的抽象類就叫接口。抽象類只能單繼承,當(dāng)一個(gè)子類需要實(shí)現(xiàn)的功能需要繼承自多個(gè)父類時(shí),就必須使用接口。

PHP 接口
PHP 類是單繼承,也就是不支持多繼承,當(dāng)一個(gè)類需要多個(gè)類的功能時(shí),繼承就無(wú)能為力了,為此 PHP 引入了類的接口技術(shù)。
如果一個(gè)抽象類里面的所有方法都是抽象方法,且沒有聲明變量,而且接口里面所有的成員都是 public 權(quán)限的,那么這種特殊的抽象類就叫 接口 。
接口使用關(guān)鍵字 interface 來(lái)定義,并使用關(guān)鍵字 implements 來(lái)實(shí)現(xiàn)接口中的方法,且必須完全實(shí)現(xiàn)。
例子:

discount;
    }
    function getUserType() {
        return "VIP用戶";
    }
}
class Goods{
    var $price = 100;
    var $vc;
    //定義 User 接口類型參數(shù),這時(shí)并不知道是什么用戶
    function run(User $vc){
        $this->vc = $vc;
        $discount = $this->vc->getDiscount();
    $usertype = $this->vc->getUserType();
        echo $usertype."商品價(jià)格:".$this->price*$discount;
    }
}

$display = new Goods();
$display ->run(new VipUser);    //可以是更多其他用戶類型
?>

運(yùn)行該例子,輸出:
VIP用戶商品價(jià)格:80 元
該例子演示了一個(gè) PHP 接口的簡(jiǎn)單應(yīng)用。該例子中,User 接口實(shí)現(xiàn)用戶的折扣,而在 VipUser 類里面實(shí)現(xiàn)了具體的折扣系數(shù)。最后商品類 Goods 根據(jù) User 接口來(lái)實(shí)現(xiàn)不同的用戶報(bào)價(jià)。
該例子僅限于演示 PHP 接口的用法,不涉及其科學(xué)與否。
實(shí)現(xiàn)多個(gè)接口
PHP也可以在繼承一個(gè)類的時(shí)候同時(shí)實(shí)現(xiàn)多個(gè)接口:
class 子類 extends 父類 implemtns 接口1, 接口2, ...
{

......

}
抽象類和接口的區(qū)別
1.接口是特殊的抽象類,也可以看做是一個(gè)模型的規(guī)范。接口與抽象類大致區(qū)別如下:
一個(gè)子類如果 implements 一個(gè)接口,就必須實(shí)現(xiàn)接口中的所有方法(不管是否需要);如果是繼承一個(gè)抽象類,只需要實(shí)現(xiàn)需要的方法即可。
2.如果一個(gè)接口中定義的方法名改變了,那么所有實(shí)現(xiàn)此接口的子類需要同步更新方法名;而抽象類中如果方法名改變了,其子類對(duì)應(yīng)的方法名將不受影響,只是變成了一個(gè)新的方法而已(相對(duì)老的方法實(shí)現(xiàn))。
3.抽象類只能單繼承,當(dāng)一個(gè)子類需要實(shí)現(xiàn)的功能需要繼承自多個(gè)父類時(shí),就必須使用接口。

來(lái)自:http://www.5idev.com/p-php_cl...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/22963.html

相關(guān)文章

  • PHP面向?qū)ο?/b>

    摘要:面向?qū)ο竺嫦驅(qū)ο蠡A(chǔ)面向?qū)ο笫裁词穷惥哂邢嗤瑢傩蕴卣骱头椒ㄐ袨榈囊幌盗袀€(gè)體的集合,類是一個(gè)抽象的概念。析構(gòu)函數(shù),當(dāng)一個(gè)對(duì)象被銷毀前,自動(dòng)調(diào)用。作用是為新克隆的對(duì)象進(jìn)行初始化賦值對(duì)象序列化時(shí),自動(dòng)調(diào)用。使用抽象類的作用限制實(shí)例化。 面向?qū)ο?面向?qū)ο蠡A(chǔ) 面向?qū)ο?什么是類? 具有相同屬性(特征)和方法(行為)的一系列個(gè)體的集合,類是一個(gè)抽象的概念。 什么是對(duì)象? 從類中,拿到的具有具體...

    seanlook 評(píng)論0 收藏0
  • php.類對(duì)象

    摘要:接口可以使用常量,叫接口常量,和類的常量使用方法相同類可以同時(shí)繼承多個(gè)接口使用接口常量抽象類不能被實(shí)例化。繼承抽象類,子類必須實(shí)現(xiàn)父類中所有的抽象方法。 訪問(wèn)控制 屬性和方法的訪問(wèn)控制(可見標(biāo)識(shí)):public 任何地方private 類自身protected 類自身,自子類及自父類 this this 可以理解為這個(gè)類的一個(gè)實(shí)例 self self 代表類本身 __construc...

    scq000 評(píng)論0 收藏0
  • PHP_OOP

    摘要:特殊在,方法被對(duì)象調(diào)用執(zhí)行時(shí),會(huì)自動(dòng)確定是那個(gè)對(duì)象調(diào)用的該方法,會(huì)使用該對(duì)象為方法內(nèi)的賦值構(gòu)造析構(gòu)類,沒有作用域,作用域,只是講,函數(shù)內(nèi)和函數(shù)外。析構(gòu)在對(duì)象消失對(duì)象被銷毀時(shí),也會(huì)自動(dòng)執(zhí)行一個(gè)方法,稱之為析構(gòu)方法。 相關(guān)定義 對(duì)象(object):現(xiàn)實(shí)生活中的實(shí)體,在編程語(yǔ)言中的體現(xiàn)。實(shí)體都有屬性和功能。一組數(shù)據(jù),和操作管理這些數(shù)據(jù)的操作,定義在一起就形成了一個(gè)實(shí)體,稱之為對(duì)象。(屬性和...

    RiverLi 評(píng)論0 收藏0
  • PHP面向?qū)ο缶幊蹋好嫦驅(qū)ο蟾拍?、基本?shí)踐、高級(jí)實(shí)戰(zhàn)、PHP面向?qū)ο筇厥鈱?shí)踐

    摘要:一面向?qū)ο蟮母拍钍裁词敲嫦驅(qū)ο笫篱g萬(wàn)物皆對(duì)象,抽象的也是對(duì)象,一切可見或不可見都是對(duì)象對(duì)象的基本組成對(duì)象包含兩個(gè)部分對(duì)象的組成元素是對(duì)象的數(shù)據(jù)模型,用于描述對(duì)象的數(shù)據(jù)又稱為對(duì)象的屬性,或者對(duì)象的成員變量對(duì)象的行為是對(duì)象的行為模型,用于描述對(duì) 一、面向?qū)ο蟮母拍?1.1 什么是面向?qū)ο?object oriented) ?????世間萬(wàn)物皆對(duì)象,抽象的也是對(duì)象,一切可見或不可見都是對(duì)象 ...

    worldligang 評(píng)論0 收藏0
  • PHP中的 抽象類(abstract class)和 接口interface

    摘要:中的抽象類和接口有什么區(qū)別呢我們來(lái)看下具體的說(shuō)明。而抽象類中抽象方法前則必須加上表示顯示聲明為抽象方法。抽象類不能被直接實(shí)例化。詳情請(qǐng)看原文中的抽象類和接口注本文為轉(zhuǎn)載,原文地址中的抽象類和接口 PHP中的 抽象類(abstract class)和 接口(interface)有什么區(qū)別呢?我們來(lái)看下具體的說(shuō)明。 一、 抽象類和接口的異同 1.相同點(diǎn): (1)兩者都是抽象類,都不能實(shí)例化...

    awokezhou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<