ホームページ > バックエンド開発 > PHPチュートリアル > PHPクラスの静的メソッドと静的変数

PHPクラスの静的メソッドと静的変数

WBOY
リリース: 2016-07-29 09:02:10
オリジナル
1162 人が閲覧しました

PHP では、クラスのメソッド/変数にアクセスする方法が 2 つあります:
1. オブジェクト $object = new Class() を作成し、「->」を使用して $object->attribute/function を呼び出します。変数/メソッドがアクセス可能であること。
2. 静的か非静的かに関係なく、クラスのメソッド/変数: class::attribute/function を直接呼び出します。ただし、前提条件があります:
A. 変数の場合、その変数にアクセスできる必要があります。
B. メソッドの場合、アクセス可能であることに加えて、次の条件も満たす必要があります。
b1) 静的メソッドの場合、特別な条件はありません。
b2) 非静的メソッドの場合。 、メソッド内で $this が使用されていない、つまり非静的変数/メソッドの呼び出しがないように変更する必要があります。もちろん、静的変数/メソッドの呼び出しには問題ありません。

次に、$object->… の使用と class::…: の使用の違いを見てみましょう。 $object->… を使用する場合、オブジェクトを作成するためにコンストラクターを実行する必要があります
2。 . class:: … を使用する 静的メソッド/変数を呼び出す場合、オブジェクトを作成するためにコンストラクターを実行する必要はありません。
3. 非静的メソッド/変数を呼び出す場合は、オブジェクトを作成するコンストラクター。

すると、2と3は同じなので、静的メソッド/変数の存在意義は何でしょうか?

次のような違いが明らかに存在します:
1. 静的変数
静的メンバーは 1 つの変数値のみを保持し、この変数値はすべてのインスタンスに対して有効です。つまり、すべてのインスタンスがこのメンバーを共有します。
2. 静的メソッド
静的メソッドは class::... を使用して直接呼び出すことができますが、非静的メソッドは、前に説明したように、 class::... メソッドを使用して呼び出す前に特定の制限を満たす必要があります

以上、PHPクラスの静的メソッドと静的変数を内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。

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