Maverick アウトサイダー - PHP のインターフェース

autoload
リリース: 2023-04-09 19:58:02
オリジナル
2637 人が閲覧しました

php クラスでは 多重継承は許可されていませんが、interface では 多重継承が可能であり、第二に、インターフェイスを使用するとカプセル化特定の実装は、特定の実装の詳細を外部に公開しません。公開するのは インターフェイス だけであり、ユーザーは インターフェイス を介してのみアクセスできます。ある程度の安心感があります。

1. 定義 : interface キーワードを使用して定義されたインターフェイスは、クラスに似ており、特に、いくつかの共通のメソッドによって実装される必要があるメソッドを標準化するために使用されます。クラス。

interface People{}
ログイン後にコピー

2. インターフェイスの実装 : インターフェイスは、クラスが達成する必要があることを標準化するために使用されるため、インターフェイスはクラス implements によってのみ実装できます。 (インスタンス化は許可されていません)

class Man implements People{}
ログイン後にコピー

3 .Interface members: パブリック抽象メソッドインターフェース定数

のみを定義できますインターフェイス
interface Animal{
    
    const NAME = '人';//只允许有接口常量

    public function eat();//接口方法必须为公有抽象方法
}
ログイン後にコピー

4. インターフェイスの実装クラスは、すべての abstract メソッド , を実装する必要があります。そうでない場合、実装クラスは abstract class# です。 ##,インターフェイス定数は実装クラスで直接アクセスできます

interface Animal{
    const NAME = '人';
    public function eat(); 
}

//实现接口
class Man implements Animal{
    //必须实现接口所有抽象方法
    public function eat(){
        echo self::NAME;				//可以访问接口常量
    }
}

//抽象类实现接口
abstract class Ladyboy implements Animal{}		//正常实现
ログイン後にコピー

5. インターフェイスを実装する クラス メンバー,are not インターフェイス内の定数を書き換えることはできますが、インターフェイス メソッドの制御権限を増やすことはできません

interface Animal{
    const NAME = '人';
    public function eat(); 
}
class Woman implements Animal{
    //重写接口常量
    const NAME = '女人';			  //错误:不允许重写接口常量
    
    //强化接口方法控制
    private function eat(){}		//错误:接口方法不允许使用其他访问修饰限定符,必须使用public
}
ログイン後にコピー

6. インターフェイスは継承できます。インターフェイス

:extends, そして、インターフェイスは複数のインターフェイスから継承できます

interface Plant{
    public function lightning();
}

interface Animal{
    public function eat();
}
//单继承
interface Man extends Animal{}
//多继承
interface Apple extends Plant,Animal{}
ログイン後にコピー
推奨事項:phpビデオチュートリアル

以上がMaverick アウトサイダー - PHP のインターフェースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート