溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

接口在php中的定義和使用

發(fā)布時(shí)間:2020-06-25 14:13:03 來(lái)源:億速云 閱讀:165 作者:Leah 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)接口在php中的定義和使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

程序接口,由一套陳述、功能、選項(xiàng)、其它表達(dá)程序結(jié)構(gòu)的形式、以及程序師使用的程序或者程序語(yǔ)言提供的數(shù)據(jù)組成

PHP接口(interface)的特點(diǎn)

1、接口的方法必須是公開(kāi)的。

2、接口的方法默認(rèn)是抽象的,所以不在方法名前面加abstract。

3、接口可以定義常量,但不能定義成員屬性,常量的定義和用法和類中常量一樣。

4、類可以實(shí)現(xiàn)多個(gè)接口(相當(dāng)于把多個(gè)功能集于一身,如手機(jī)實(shí)現(xiàn)了小靈通、MP3、MP4的功能)

5、接口也可以繼承接口。

接口的定義和調(diào)用

<?php
interface face1
{
const param = 'test';
public function show();
}
class test implements face1
{
public function show()
{
echo "interface is run<br>";
}
}
$face = new test();
echo $face->show();         //inerface is run
echo face1::param;           //test
?>

說(shuō)明:上面的例子要注意一點(diǎn),接口的方法名是show,繼承接口的類中必須有show這個(gè)方法,要不然就會(huì)報(bào)錯(cuò)。也就是說(shuō)接口的方法是假的,真正起作用的是在繼承的類中的方法,就是因?yàn)檫@一點(diǎn),所以我覺(jué)得,接口根php的抽象類有點(diǎn)像。

對(duì)參數(shù)約束比較嚴(yán)

<?php
interface face1
{
public function show(show $show);
}
// 顯示正常
class test implements face1
{
public function show(show $show)
{
echo "asdfasdf";
}
}
// 報(bào)fatal錯(cuò)誤
class test2 implements face1
{
public function show(aaa $aaa)
{
}
}
?>

說(shuō)明:上面的這個(gè)例子報(bào)fatal錯(cuò)誤的,為什么會(huì)報(bào)fatal錯(cuò)誤呢?原因就在所傳參數(shù)是aaa $aaa,而不是show $show。繼承接口類中,調(diào)用接口的方法時(shí),所傳參數(shù)要和接口中的參數(shù)名要一至。不然就會(huì)報(bào)錯(cuò)。

看完上述內(nèi)容,你們對(duì)接口在php中的定義和使用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI