ホームページ  >  記事  >  バックエンド開発  >  PHPの静的メンバー変数

PHPの静的メンバー変数

高洛峰
高洛峰オリジナル
2017-02-18 16:39:271103ブラウズ

静的メンバー: 静的クラスのメンバーは、static修飾子を追加することで静的メンバーになります。静的メンバーはメモリ内に存在するため、クラス名 + 静的メンバー名を直接使用できます。静的メンバーはインスタンス化される必要があるため、静的メンバーは非静的メンバーにアクセスできません。静的メンバーはクラス内の静的メンバーに直接アクセスできます

1。
定義: グローバル変数内 キーワード static を追加する前に、変数は静的グローバル変数として定義されます。

特徴:
A. この変数はグローバルデータ領域にメモリを割り当てます。
B. 初期化: 明示的に初期化されていない場合は、暗黙的に 0 に初期化されます (明示的に初期化されない限り、自動変数はランダムです)。
C.
アクセス変数は、ソース ファイル内でのみ表示されます。厳密に言えば、定義の時点から始まり、このファイル内で終わる必要があります。

2. 静的ローカル変数

<span style="font-size: 15px">特点:</span> <br><span style="font-size: 15px">  A、该变量在全局数据区分配内存。 </span><br><span style="font-size: 15px">  B、初始化:如果不显式初始化,那么将被隐式初始化为0,以后的函数调用不再进行初始化。 </span><br><span style="font-size: 15px">  C、<strong>它始终驻留在全局数据区,直到程序运行结束。但其作用域为局部作用域,当定义它的函数或 语句块结束时,其作用域随之结束。<br></strong></span>

静的データ メンバーは、通常のデータ メンバーと同じパブリック、プロテクト、およびプライベート アクセス ルールに従います。

静的データ メンバーはグローバル データ領域にメモリを割り当てるため、このクラスはそれを共有するため、特定のクラス オブジェクトに属しません。そのスコープは、クラス オブジェクトが生成されないとき、つまり、クラスのインスタンスが生成されないときに、それを操作できます。一般的なデータ メンバーの初期化とは異なります。静的データ メンバーの初期化の形式は次のとおりです。

2 つのアクセス フォーム: オブジェクト名>.<静的データメンバー名>or<クラス型名>::<静的データメンバー名>静的データ メンバー (つまりパブリック メンバー) が許可されている場合は、プログラム内で静的データ メンバーを参照するために使用できます。

静的データ メンバーは主に、各オブジェクトが同じ特定の属性を持つ場合に使用されます。たとえば、預金クラスの場合、各インスタンスの金利は同じです。したがって、金利は預金クラスの静的データ メンバーとして設定する必要があります。これには 2 つの利点があります。まず、定義されているデポジット クラス オブジェクトの数に関係なく、インタレスト データ メンバーはグローバル データ領域に割り当てられたメモリを共有するため、ストレージ領域が節約されます。次に、金利を変更する必要がある場合は、一度変更する限り、すべての預金オブジェクトの金利が変更されます
PHP の静的メンバー変数の詳細については、PHP 中国語 Web サイトの関連記事に注目してください。

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