導航:首頁 > 編程語言 > php的介面有什麼用

php的介面有什麼用

發布時間:2023-03-26 16:53:42

php介面有什麼作用

首先應該明白襲伍介面是什麼含義,介面是對外開放的,調用介面然後重寫其中的方法,如果你不要使用介面裡面拍圓或的方法,那麼介面就沒有意義了,這樣也是為了整體代碼的控制性。
本質上php介面其實就是一種規范,如果是多人開發腔鄭的項目,這個介面可能就起到比較重要的作用了

❷ 怎麼在PHP中定義和使用介面interface

1、介面的定義:
介面:一種成員屬性為抽象的特殊抽象類,在程序中同為規范的作用
2、其實他們的作用很簡單,當有很多人一起開發一個項目時,可能都會去調用別人寫的一些類,那你就會問,我怎麼知道他的某個功能的實現方法是怎麼命名的呢,這 個時候PHP介面類interface就起到作用了,當我們定義了一個介面類時,它裡面的方式是下面的子類必須實現的,比如 :
interface Shop
{
public function buy($gid);
public function sell($gid);
public function view($gid);
}
我聲明一個shop介面類,定義了三個方法:買(buy),賣(sell),看(view),那麼繼承此類的所有子類都必須實現這3個方法少一個都 不行,如果子類沒有實現這些話,就無法運行。實際上介面類說白了,就是一個類的模板,一個類的規定,如果你屬於這類,你就必須遵循我的規定,少一個都不 行,但是具體你怎麼去做,我不管,那是你的事,如:
class BaseShop implements Shop { public function buy($gid) { echo('你購買了ID為 :'.$gid.'的商品'); } public function sell($gid) { echo('你賣了ID為 :'.$gid.'的商品'); } public function view($gid) { echo('你查看了ID為 :'.$gid.'的商品'); } }
結論 : PHP介面類interface就是一個類的領導者,指明方向,子類必須完成它指定方法。這樣不同的開發者就不要去了解別人怎麼命名相應的方法。
3、php中使用介面(interface)實現多重繼承:
我們都知道PHP中的類(class)是單繼承的,那是不是就沒有辦法實現多重繼承了呢?答案是否定的.我們可以通過其它特殊的方式實現類的多重 繼承,比如使用介面(interface)實現,只要把類的特徵抽象為介面,並通過實現介面的方式讓對象有多重身份,通過這樣就可以模擬多重繼承了。
下面是一個用介面(interface)實現多重繼承的例子,源代碼如下:
<?php
interface UserInterface{ //定義User的介面
function getname();
}
interface TeacherInterface{ //teacher相關介面
function getLengthOfService();
}
class User implements UserInterface { //實現UserInterface介面
private $name = "tom";
public function getName(){
return $this->name;
}
}
class Teacher implements TeacherInterface { //實現TeacherInterface介面
private $lengthOfService = 5; // 工齡
public function getLengthOfService(){
return $this->lengthOfService;
}
}
// 繼承自User類,同時實現了TeacherInterface介面.
class GraateStudent extends User implements TeacherInterface {
private $teacher ;
public function __construct(){
$this->teacher = new Teacher();
}
public function getLengthOfService(){
return $this->teacher->getLengthOfService();
}
}
class Act{
//注意這里的類型提示改成了介面類型
public static function getUserName(UserInterface $_user){
echo "Name is " . $_user->getName() ."<br>";
}
//這里的類型提示改成了TeacherInterface類型.
public static function getLengthOfService(TeacherInterface $_teacher){
echo "Age is " .$_teacher->getLengthOfService() ."<br>";
}
}
$graateStudent = new GraateStudent();
Act::getUserName($graateStudent);
Act::getLengthOfService($graateStudent);
//結果正如我們所要的,實現了有多重身份的一個對象.
?>
示例運行結果如下:
Name is tom
Age is 5
4、介面類和抽象類的區別
抽象類 :1.類中至少有一個抽象方法
2.前面加abstract
介面: 1.成員屬性為常量const
2.前面不用加abstract
3.類中全部為抽象方法,介面抽象方法為public
5、介面類和抽象類 共同點:
1.本身不能被實例化,必須繼承或者引用
2.繼承和引用後,抽象方法必須重載才能實例化
關鍵字 interface.引用關鍵字 implements

❸ 請教:PHP的介面有什麼用我怎麼一直都用不到,該在什麼時候用喲

介面interface是面向對象編程中一個很重要的概念和手段。
有什麼用?介面將定義一系列抽象方法,並作為交換的標准。是實現程序低耦合和多態的一個措施。介面好比電氣設備中美式插座和愛迪生E27螺旋燈口標准,所有的電器都使用2眼或3眼的插座,大多數的燈泡可以使用螺口燈座。就不需要擔心電器、燈轎升泡的具體類型。
一個對譽頃象也可以具有多個介面的特性(比如一個對象處理所有的輸入,具備滑鼠監聽介面、鍵盤介面、觸摸屏介面。一個插座可以有3眼,2眼的介面。)。而不用多重繼承多種父類,使程序清晰。

什麼時候用?以多個不同類型的對象作為模塊間交換格式的時候,介面用於定義標準的交換方法。
簡單說,就是定義(大、小、各種)「標准」時用介面定義。所以各種API(應用編程介面)同時也是開發對應的軟體的標准庫。在OOP中,介面和協議幾乎是同義詞。關鍵字是:標准,標准化。

如果還沒有用到,說明代碼潛在存在不夠標准、雜糅在一起(高耦合)閉虛老的情況,或者對象類型較少簡單到不需要一個內部標准。

閱讀全文

與php的介面有什麼用相關的資料

熱點內容
肉文有聲小說 瀏覽:955
求個看片的網址 瀏覽:547
pythonsin函數圖像 瀏覽:329
身體不好當程序員 瀏覽:274
mount命令作用 瀏覽:220
畫江湖之不良人黑白無常雙修刪減 瀏覽:754
朵唯手機如何加密 瀏覽:504
安卓雙清指的什麼 瀏覽:177
phpredis所有keys 瀏覽:988
朋友賣房要解壓嗎 瀏覽:108
sar命令安裝 瀏覽:169
安卓怎麼看我自己去過哪裡 瀏覽:283
演算法分析里log沒有底數嗎 瀏覽:222
伺服器卡頓怎麼連接 瀏覽:957
手機拍照文件夾自動生成 瀏覽:788
瀏覽器如何運行在伺服器端 瀏覽:790
collinux 瀏覽:449
日本歐美韓國推理片電影大分享 瀏覽:615
怎麼下載香港app游戲 瀏覽:217
加密貨幣或迎來新的上漲趨勢 瀏覽:827