php一個類別可以實作多個介面嗎

王林
發布: 2023-02-25 12:00:02
原創
5974 人瀏覽過

php一個類別可以實作多個介面嗎

和大多數物件導向的程式語言一樣,在PHP中是不支援多重繼承的。如果要實現多重繼承功能,可以透過介面。

介面的想法是:

指定一個實作了該介面的類別必須實作的一系列函數。一般,我們用interface來宣告一個接口,並在接口中宣告一些方法(即函數),注意只是宣告不用實作這個函式。然後,用class宣告一個類別並用implements去使用這個接口,再在類別中把接口中的宣告的方法進行實作。

一般定義方法如下:

介面定義:

[修饰符] interface 接口名 [extends 父接口名列表]{
 
[public] [static] [final] 常量;
[public] [abstract] 方法;
}
登入後複製

修飾符:可選,用於指定介面的存取權限,可選值為public。如果省略則使用預設的存取權限。

介面名稱:必選參數,用於指定介面的名稱,介面名稱必須是合法的Java識別碼。一般情況下,要求首字母大寫。

extends 父介面名稱清單:選用參數,用於指定要定義的介面繼承於哪個父介面。使用extends關鍵字時,父介面名為必選參數。

方法:介面中的方法只有定義而沒有實作。

實例:

接口定义:
public interface CalInterface   
{  
    final float PI=3.14159f;//定义用于表示圆周率的常量PI  
    float getArea(float r);//定义一个用于计算面积的方法getArea()  
    float getCircumference(float r);//定义一个用于计算周长的方法getCircumference()  
}
 
 
接口实现:
public class Cire implements CalInterface   
{  
    public float getArea(float r)   
    {  
        float area=PI*r*r;//计算圆面积并赋值给变量area  
        return area;//返回计算后的圆面积  
    }  
    public float getCircumference(float r)   
    {  
        float circumference=2*PI*r;      //计算圆周长并赋值给变量circumference  
        return circumference;           //返回计算后的圆周长  
    }  
    public static void main(String[] args)   
    {  
        Cire c = new Cire();  
        float f = c.getArea(2.0f);  
        System.out.println(Float.toString(f));  
    }  
}
登入後複製

注意,如果沒有實作介面中指定的方法,將產生一個致命錯誤。

推薦PHP影片教學:PHP影片教學

以上是php一個類別可以實作多個介面嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板