ホームページ  >  記事  >  バックエンド開発  >  phpの静的メソッドとはどういう意味ですか?

phpの静的メソッドとはどういう意味ですか?

青灯夜游
青灯夜游オリジナル
2020-07-22 13:44:122385ブラウズ

PHP では、静的メソッドは「静的メソッド」を指します。静的キーワードによって変更されたメンバー属性およびメンバー メソッドは、静的属性および静的メソッドと呼ばれます。静的メソッドは、このクラスの通常の属性にアクセスできません。これらのプロパティは次のとおりです。オブジェクトにアクセスできますが、静的プロパティにはアクセスできます。

phpの静的メソッドとはどういう意味ですか?

PHP static: 静的メソッドと属性

PHP では、メンバー属性と static キーワードによって変更される属性メンバー メソッドは、静的プロパティと静的メソッドと呼ばれます。ここでは、これらをまとめて静的メンバーと呼ぶことができます。クラス内の静的メンバーは、クラス内の一般的なメンバーとは異なります。静的メンバーはオブジェクトにインスタンス化されません。つまり、By は必要ありません。クラスをインスタンス化すると、クラスを通じて静的メンバーにアクセスできます。

[関連チュートリアルの推奨事項: 「PHP チュートリアル 」]

クラス内で静的変数を宣言するのは簡単です。クラスの通常のメンバーの前に静的キーワードを追加できます。 class. を使用すると、この通常のメンバーを静的メンバーに変えることができます。このようにして、クラスをインスタンス化せずに、クラス内のこれらの静的メンバーに直接アクセスできます。静的メンバーにアクセスするための構文形式は次のとおりです。

类名::$静态属性
类名::静态方法()

:: シンボルは範囲解決演算子と呼ばれ、静的メンバー、静的メソッド、および定数にアクセスするために使用されます。 「クラス内のメンバーとメソッドをオーバーライドするには」を使用することもできます。

クラス内のメンバー メソッドの静的プロパティにアクセスする場合は、静的プロパティの名前の前に演算子 self:: を追加するだけです。

静的メソッド

(1) 静的メソッドは、このクラスの通常のプロパティにはアクセスできません。これらのプロパティはオブジェクトに属しているためですが、静的プロパティにはアクセスできます。

(2) 現在のクラス (サブクラスではない) から静的メソッドまたはプロパティにアクセスするには、$this が現在のオブジェクトを指すのと同じように、self キーワードを使用して現在のクラスを指します。

## (3) オブジェクト内で静的メソッドを呼び出すことはできません 静的メソッドおよび属性はクラスメソッドおよびクラス属性とも呼ばれるため、オブジェクト内で疑似変数 $this を使用することはできません。

静的メソッドの利点:

(1) コード内のどこでも使用可能 (クラスにアクセスできることが前提);

(2) ) クラスの各インスタンスは、クラスで定義された静的プロパティにアクセスできます。静的プロパティを使用して値を設定できます。値はクラスのすべてのオブジェクトで使用できます。

(3) インスタンス オブジェクトは存在しません。静的プロパティまたは静的メソッドにアクセスするために必要です。

php 静的メソッドの長所と短所

1. 静的メソッドはクラス内のメンバー メソッドであり、クラス全体に属します。 !

2. 静的メソッドはインスタンス化よりも効率的です。静的メソッドの欠点は、インスタンス化されたメソッドは破棄される可能性があるのに対し、自動的に破棄されないことです。

3. 静的メソッドと静的変数は作成後に常に同じメモリを使用しますが、インスタンスを使用すると複数のメモリが作成されます。

4. C では、クラス メソッドの前に static キーワードが追加された場合、そのメソッドは静的メソッドと呼ばれ、それ以外の場合はインスタンス メソッドと呼ばれます。静的メソッドはクラスによって所有され、オブジェクトまたはクラスを通じて使用できます。ただし、クラスが定義されていれば静的メソッドを使用でき、クラスのインスタンスを作成する必要がないため、通常はクラス名を介して使用することをお勧めします。静的メソッドは、クラスの静的メンバーのみを使用できます。

推奨学習:

PHP プログラミングの入門から熟練度まで

以上がphpの静的メソッドとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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