ホームページ >バックエンド開発 >PHPチュートリアル >PHP 静的クラスと非静的クラス
静的クラス: 静的に定義された静的属性またはメソッド
静的クラスアクセスメソッド:
1,, 静的メソッドオブジェクトをインスタンス化する必要はなく、クラス名、演算子を通じて直接呼び出すことができます。 Double Colon::
Car::getName(); 2. パブリック プロパティまたはメソッドへの外部アクセス:
$car->speed;$car->speedUp(); 3.メソッド:
$this->speed;$this->speedUp();
if(empty($articleclass_id)) $this->showapp(array('msg'=>'間違った操作'));
4 、外部アクセス
静的プロパティ
またはメソッド: Car::getName();Car::$price;$articleclass_id = SUtil::getStr($_GET['id'], 'int');
5、
: self::$price;
6. クラスを継承するとき、サブクラスは内部で親クラスを呼び出します
静的プロパティ: parent::$price;
class Controller_article extends Controller_basepage { function __construct() { parent::__construct(); }
}7,
の場合は、$thisを使用しない、つまり非静的変数/メソッドが呼び出されないようにメソッドを変更する必要があります。もちろん問題ありません。静的変数/メソッドの呼び出し。
8. $object->… の使用と class::… の使用の違いは何ですか:1. $object->… を使用する場合、オブジェクトを作成するためにコンストラクターを実行する必要があります。 ;
2. 静的メソッド
/変数を呼び出すには、class::... を使用してオブジェクトを作成する必要はありません。 -静的メソッド/変数。オブジェクトを作成するためにコンストラクターを実行する必要はありません。
なぜ静的クラスが必要なのでしょうか? ? ? ? ? ? ? ? --------静的変数または関数は静的メモリに保存され、プログラムの終了時にのみ解放されます。では、いつ割り当てられるのでしょうか?
それはプログラムのコンパイル時に動的に割り当てられます。が走っています。
クラス内で一度呼び出された場合、静的クラスはコンパイル時にさらに多くの作業を行う必要があり、動的クラスは実行時にさらに多くの作業を行う必要があります。ただし、PHP は動的言語であり、これらの 2 つのステップが毎回失われるわけではありません。一度だけ実行 誰が速いか遅いかは関係ありません。
ただし、プログラム内でクラスを複数回呼び出す必要がある場合は異なります。静的クラスには、メモリを動的に割り当てる代わりに、コンパイル中に値が割り当てられるため、時間を節約できます。これが、静的クラスが動的クラスより高速である理由です (複数回呼び出され、記憶されている場合)。
上記では、静的メソッドと静的属性を含む、PHP の静的クラスと非静的クラスを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。