這篇文章主要介紹了php介面技術,結合執行個體形式分析了php介面的基本概念、功能、定義、使用方法與相關注意事項,需要的朋友可以參考下
1.介面是一種特殊的抽象類別,為什麼這麼說呢?如果一個抽象類別中所有的方法都是抽象方法,那麼我們就換一種稱呼,稱為“介面”。
2.另外介面中不能聲明變數。
3.介面中所有的成員都是public許可權的。所有的子類在實現時,也一定要使用public許可權去實現。
4.聲明一個類的時候,我們用關鍵字“class”,而聲明介面的時候,我們用關鍵字“interface”。
<?php//定義一個介面使用interface關鍵字,“One”為介面名稱interface One{ //定義一個常量 const constant = 'constant value'; //定義一個抽象方法fun1 public function fun1(); //定義了抽象方法fun2 public function fun2();}?>
5.因為介面裡所有的方法都是抽象方法,所以在聲明抽象方法就不用像抽象類別那樣使用“abstract”這個關鍵字了,預設已經加上這個關鍵字了。
6.介面裡面的存取權限必須為public,預設就是public,不能使用“private”和“protected”許可權。
7.介面是一種特殊的抽象類別,裡面所有方法都是抽象方法,所以介面也不能產生執行個體對象。
8.我們可以用“extends”關鍵字讓一個介面去繼承另一個介面。
interface Two extends One{ function fun3(); function fun4();}
9.我們定義一個介面的子類去實現介面中全部抽象方法使用的關鍵字是“implements”,而不是我們前面所說的“extends”。
class Three implements Two{ function fun1() { ; } function fun2() { ; } function fun3(){ ; } function fun4() { ; }}$three = new Three();$three->fun1();
10.PHP是單繼承的,一個類只能有一個父類,但一個類可以實現多個介面,就相當於一個類要遵守多個規範。使用implements實現多個介面,必須把所有介面中的方法都要實現才可以執行個體化對象。
11.PHP不僅可以實現多個介面,也可以在繼承一個類的同時實現多個介面,一定要先繼承類再去實現介面。
<?php//使用extends繼承一個類,使用implements實現多個介面class Test extends 類名一 implements 介面一,介面二,...{//所有介面中的方法都要實現才可以執行個體化對象 ......}