PHP クラス修飾子とアクセス修飾子

不言
リリース: 2023-04-02 17:54:02
オリジナル
2464 人が閲覧しました

この記事では、PHP のクラス修飾子とアクセス修飾子を中心に紹介しますが、参考値があるので、シェアします。必要な方は参考にしてください。

クラス修飾子

  • 1. abstract によって変更されたクラスは抽象クラスです。クラスに抽象メソッドが含まれている場合、そのクラスは抽象クラスです (もちろん、クラスには抽象メソッドはありません。これを定義することもできます) class を抽象クラスとして ) では、抽象メソッドとは何ですか? 抽象メソッドとは、メソッド本体のない (中括弧や内部のコンテンツのない) メソッドです。抽象メソッドは、その前でも変更されます。抽象クラス自体はインスタンス化できません。クラスのみがそれを継承し、そのすべての抽象メソッドをオーバーライドして、そのサブクラスをインスタンス化できます

  • ##
    abstract class My{
        abstract function say();
    }
    //
    abstract class My{
         function say(){
            echo 'hello';
        }
    }
    ログイン後にコピー

    ##2 . インターフェイスによって変更されたクラスはインターフェイスです。インターフェイスは抽象クラスに似ていますが、異なる点は、インターフェイスのすべてのメソッドが抽象メソッドであることです。インターフェイスの抽象メソッドの前に抽象変更はなく、メンバー属性は定数である必要があります。インターフェイス参照はクラス継承のキーワード extends とは異なります。継承は 1 つだけですが、インターフェイスではキーワードimplements を使用してカンマで区切って複数の参照を指定できます。
  • interface demo { 
    const NAME = "常量对象属性"; 
    function fun1(); 
    function fun2(); //抽象方法。 
    } 
    class MyPc extends Root implements demo , demo2 , demo3 { 
    ... 
    }
    ログイン後にコピー
    3. Final によって変更されたクラスは終端クラスなので継承できません。
  • #アクセス修飾子

1.public パブリック メソッドとプロパティはすべてのクラスで使用できます

2.static 静的メソッドと変数
  • アクセス制御権限が許可されている場合は、呼び出されたときに、このクラスのオブジェクトを作成せずにクラスを直接使用できます。名前に 2 つのコロン「::」を追加すると、メモリ内に静的属性のコピーが 1 つだけ存在し、すべてのインスタンスで共有されます。静的メソッドは非静的属性を呼び出すことはできません。 self:: を使用して非静的プロパティを呼び出すことはできません。
  • function test(){
    static $a=1;
    $a*=2;
    echo $a."\n";
    }
    test()
    test()
    test()
    //打印结果
    //2
    //4
    //8
    ログイン後にコピー
静的変数の初期化割り当ては 1 回だけであり、後続のテスト メソッドで再度初期化されることはありません。

3. プライベートに変更されたメソッドと変数はプライベートであり、このクラス内でのみ呼び出すことができます (このクラスが他のクラスでインスタンス化されている場合、プライベートに変更されたメソッドと変数は呼び出すことができません)。
4.保護されたメソッドと変数は、このクラスとこのクラスのサブクラスでのみ使用できます
#5.最終的に変更されたメソッドはオーバーライドできません。
  • 以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

  • 関連する推奨事項:

PHP を使用して最新のフォームをすばやく生成する方法

php は共有メモリ プロセス通信機能 (_shm) を実装します)

以上がPHP クラス修飾子とアクセス修飾子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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