静的メソッドとは何ですか?
オブジェクトを作成することによって、すべての変数とメソッドを呼び出す必要があるわけではありません。 static キーワードを追加すると、変数とメソッドを直接呼び出すことができます。
静的メンバーを呼び出すための構文形式は次のとおりです:
Keyword::static member
キーワードは次のとおりです:
(1) self。クラス内で静的メンバーを呼び出すときに使用されます。
(2) 静的メンバーのクラス名は、クラス外からクラス内の静的メンバーを呼び出す場合に使用されます。
注: 静的メソッドでは、静的変数のみを呼び出すことができ、通常の変数は呼び出すことができません。
静的メソッドの例の説明:
静的メソッドの例 1:
<?php class Math{ static function squared($input){ return $input*$input } } echo Math :: squared(3);
実行結果は次のとおりです: 9
上記は単純な例です。静的メソッドでは $this キーワードを使用できないことに注意してください。参照するオブジェクト インスタンスがない可能性があるため使用されます。静的メソッドではオブジェクトのインスタンス化が必要ないためです。
静的メンバーを使用すると、オブジェクトをインスタンス化する必要がなくなるだけでなく、オブジェクトが破棄された後も、変更された静的データを次回使用できるように保存する機能もあります。この概念は比較的抽象的です。詳細に分析するために例を示します。
静的メソッドの例 2:
<?php header("content-type:text/html;charset=utf-8"); class Play{ static $num = 0; function showNum(){ echo '这是你第' . self :: $num . '次玩LOL'; self :: $num++ ; } } $play1 = new Play(); $play1 -> showNum(); echo '<br/>'; $play2 = new Play(); $play2 -> showNum(); echo '<br/>'; echo '这是你第' . Play::$num .'次玩LOL';
上記の例では、最初に静的変数 $num を定義し、次にクラス内でメソッドを宣言し、メソッド内で静的変数を呼び出しました。 呼び出されたメソッドはインスタンス内で確認できます。 , そして、静的変数に1を加えて、クラスのオブジェクトを順番にインスタンス化し、メソッドを呼び出します。次に、上で述べたことです。オブジェクトが破棄された後も、変更された静的データは次回継続して使用できるように保存されます。
注:
静的メソッドは簡単に使用できます。クラスが初めてロードされるとき、静的メンバー空間はすでに与えられています。しかし、何も悪用することはできません。あまりにも多くの静的メンバーを宣言すると、スペースが常に占有されてしまい、システムの実行速度や機能に影響を与えるため、覚えておいてください: 何かが良いからといって、あまり多くのものを欲しがらないでください。
以上がPHPオブジェクト指向での静的メソッドの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。