ホームページ >バックエンド開発 >PHPの問題 >PHPのクラスのアクセス修飾子は何ですか

PHPのクラスのアクセス修飾子は何ですか

百草
百草オリジナル
2023-09-15 15:42:091403ブラウズ

php のクラスのアクセス修飾子には、public 修飾子、protected 修飾子、および private 修飾子が含まれます。詳細な導入: 1. public 修飾子は、クラスの最も一般的なアクセス修飾子です。これは、プロパティとメソッドがクラスの内部、サブクラス、およびクラスの外部から表示され、アクセスできることを示します。public 修飾子で変更されたプロパティとメソッドは、どこからでもアクセスおよび呼び出し可能; 2. protected 修飾子は、プロパティとメソッドがクラスの内部およびサブクラスからは表示およびアクセス可能であるが、外部からは不可視であることなどを示します。

PHPのクラスのアクセス修飾子は何ですか

このチュートリアルのオペレーティング システム: Windows10 システム、PHP バージョン 8.1.3、DELL G3 コンピューター。

PHP では、クラスのアクセス修飾子を使用して、クラスのプロパティとメソッドの可視性とアクセス許可を制御します。 PHP には、public、protected、private という 3 つの一般的なクラス アクセス修飾子があります。以下に、各修飾子の特徴と使用法を詳しく紹介します:

1. パブリック修飾子: パブリック修飾子は、クラスの最も一般的なアクセス修飾子です。これは、属性とメソッドが内部およびメソッドにアクセスできることを示します。クラスのサブクラス。クラスと外部の両方が表示され、アクセス可能です。つまり、public 修飾子で変更されたプロパティとメソッドは、どこからでもアクセスして呼び出すことができます。

例:

   class MyClass {
       public $publicProperty;
   
       public function publicMethod() {
           // 公共方法的实现
       }
   }
   
   $obj = new MyClass();
   $obj->publicProperty = 'Hello';
   echo $obj->publicProperty; // 输出:Hello
   $obj->publicMethod(); // 调用公共方法

2. protected 修飾子: protected 修飾子は、プロパティとメソッドがクラスの内部およびサブクラスに表示およびアクセス可能であるが、外部からは不可視であることを示します。つまり、protected 修飾子で変更されたプロパティとメソッドは、クラス内およびサブクラス内でのみアクセスおよび呼び出すことができます。

例:

   class MyClass {
       protected $protectedProperty;
   
       protected function protectedMethod() {
           // 受保护方法的实现
       }
   }
   
   class SubClass extends MyClass {
       public function accessProtected() {
           $this->protectedProperty = 'Hello';
           echo $this->protectedProperty; // 输出:Hello
           $this->protectedMethod(); // 调用受保护方法
       }
   }
   
   $obj = new SubClass();
   $obj->accessProtected();

上の例では、SubClass は MyClass のサブクラスであり、MyClass 内の protected 修飾子によって変更されたプロパティとメソッドにアクセスして呼び出すことができます。

3. プライベート修飾子: プライベート修飾子は、プロパティとメソッドがクラス内でのみ表示およびアクセス可能であり、サブクラスおよび外部からは不可視であることを示します。つまり、private 修飾子で変更されたプロパティとメソッドは、クラス内でのみアクセスおよび呼び出すことができます。

例:

   class MyClass {
       private $privateProperty;
   
       private function privateMethod() {
           // 私有方法的实现
       }
   
       public function accessPrivate() {
           $this->privateProperty = 'Hello';
           echo $this->privateProperty; // 输出:Hello
           $this->privateMethod(); // 调用私有方法
       }
   }
   
   $obj = new MyClass();
   $obj->accessPrivate();

上の例では、accessPrivate メソッドは MyClass クラスのパブリック メソッドであり、private 修飾子で変更されたプロパティとメソッドにアクセスして呼び出すことができます。

クラスのアクセス修飾子は、クラス全体ではなく、クラスのプロパティとメソッドにのみ適用できることに注意してください。さらに、クラスのプロパティとメソッドがアクセス修飾子で変更されていない場合、それらはデフォルトでパブリックになります。

クラスのアクセス修飾子を合理的に使用することで、クラスのプロパティとメソッドの可視性とアクセス権を制御し、コードのカプセル化とセキュリティを向上させることができます。特定のビジネス ニーズと設計原則に従って、適切なアクセス修飾子を選択してクラスのメンバーを定義し、コードのメンテナンスと拡張を容易にします。

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

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