ホームページ  >  記事  >  バックエンド開発  >  PHP クラスは複数のインターフェイスを実装できますか?

PHP クラスは複数のインターフェイスを実装できますか?

王林
王林オリジナル
2019-09-28 11:54:145932ブラウズ

PHP クラスは複数のインターフェイスを実装できますか?

ほとんどのオブジェクト指向プログラミング言語と同様、PHP では多重継承はサポートされていません。複数の継承機能を実装する場合は、インターフェイスを使用できます。

インターフェイスの考え方は次のとおりです。

インターフェイスを実装するクラスが実装する必要がある一連の関数を指定します。一般に、インターフェイスを宣言し、そのインターフェイス内でいくつかのメソッド (関数など) を宣言するには、インターフェイスを使用しますが、この関数を実装する必要がないことを宣言しているだけであることに注意してください。次に、class を使用してクラスを宣言し、implements を使用してインターフェイスを使用し、インターフェイスで宣言されたメソッドをクラスに実装します。

一般的な定義方法は次のとおりです。

インターフェース定義:

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

修飾子: Optional 、インターフェイスのアクセス許可を指定するために使用されます。オプションの値は 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。