第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP中的接口有什么意義?

PHP中的接口有什么意義?

繁星coding 2019-08-24 15:35:44
PHP中的接口有什么意義?接口允許您創(chuàng)建代碼,該代碼定義實現(xiàn)它的類的方法。但是,您無法向這些方法添加任何代碼。抽象類允許您執(zhí)行相同的操作,同時向方法添加代碼?,F(xiàn)在,如果您可以使用抽象類實現(xiàn)相同的目標,為什么我們甚至需要接口的概念?我被告知它與OO理論有關(guān),從C ++到Java,這就是PHP的OO基礎(chǔ)。這個概念在Java中有用但在PHP中沒有用嗎?它只是一種避免在抽象類中亂丟占位符的方法嗎?我錯過了什么嗎?
查看完整描述

3 回答

?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

我不了解其他語言,接口的概念是什么。但是對于PHP,我會盡力解釋它。請耐心等待,如果有幫助,請評論。

接口用作“契約”,指定一組子類的作用,但不指定它們是如何做的。

規(guī)則

  1. 接口無法實例化。

  2. 您不能在接口中實現(xiàn)任何方法,即它只包含方法的.signature而不包含詳細信息(正文)。

  3. 接口可以包含方法和/或常量,但不包含任何屬性。接口常量與類常量具有相同的限制。接口方法是隱式抽象的。

  4. 接口不能聲明構(gòu)造函數(shù)或析構(gòu)函數(shù),因為這些是類級別的實現(xiàn)細節(jié)。

  5. 界面中的所有方法都必須具有公共可見性。

現(xiàn)在讓我們舉個例子。假設(shè)我們有兩個玩具:一個是狗,另一個是貓。

正如我們所知,狗吠和貓喵。這兩種方法有相同的說法,但具有不同的功能或?qū)嵤┓绞?。假設(shè)我們給用戶一個帶有發(fā)言按鈕的遙控器。

當用戶按下發(fā)言按鈕時,玩具必須說出來并不重要,無論是狗還是貓。

這是一個使用接口的好例子,而不是抽象類,因為實現(xiàn)是不同的。為什么?記得

如果需要通過添加一些非抽象方法來支持子類,則應(yīng)使用抽象類。否則,接口將是您的選擇。


查看完整回答
反對 回復 2019-08-24
  • TVBK
    TVBK
    接口我也是一直搞不明白。。根據(jù)你的說法,我這樣理解對嗎? 小G負責寫 狗class,小M負責寫貓class 現(xiàn)在新增一個功能 我按按鈕它就叫。不論是 狗class 還是 貓class 都得繼承我這個專門負責叫的 接口 。 那接口是不是 這樣設(shè)計: // 動物叫接口 interface animalsCall { public function call(); } // 接口出來了 然后 小G 就開始負責在 狗class 里面寫 狗的叫聲 繼承動物叫接口 class Dog implements animalsCall { // 小狗看門。。。等 其他功能 public function porter(){} // 這是所有動物都必須會的一招 繼承了animalsCall接口 所以強制必須實現(xiàn)里面的方法call。 public function call(){} } // 接口出來了 然后 小M 也同時開工開始負責在 貓class 里面寫 貓的叫聲 同樣繼承 動物叫接口 class Cat implements animalsCall { // 小貓賣萌。。。等 其他功能 public function acting_cute(){} // 同樣的這是所有動物都必須會的一招 繼承了animalsCall接口 所以強制必須實現(xiàn)里面的方法call。 public function call(){} } // 然后 現(xiàn)在 有個功能 是點擊按鈕 就叫 function call(string $type){ if($type == Dog){ new Dog()->call(); }elseif($type == 'cat'){ new Cat()->call(); } } 這樣理解對嗎? 如果這樣理解的話: 1. 接口只是為了統(tǒng)一方法名?調(diào)用起來不會 左一個dogCall 右一個catCall? 2. 作用同1。。。 實在想不出這樣還有其他好處沒-.-! 還請大佬稍微指點下 (づ ̄3 ̄)づ╭?~
?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

接口就像你的基因。

抽象類就像你的父母一樣。

它們的目的是遺傳的,但在抽象類和接口的情況下,繼承的內(nèi)容更具體


查看完整回答
反對 回復 2019-08-24
  • 3 回答
  • 0 關(guān)注
  • 1581 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號