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

PHPの静的メンバー変数の詳しい説明

墨辰丷
墨辰丷オリジナル
2018-05-25 14:48:401507ブラウズ

この記事では主にPHPの静的メンバー変数について詳しく説明していますので、興味のある方は参考にしていただければ幸いです。

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

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

特徴:

A. この変数はグローバルデータ領域にメモリを割り当てます。

B. 初期化: 明示的に初期化されていない場合、暗黙的に 0 に初期化されます (明示的に初期化されない限り、自動変数はランダムです)。

C. Access 変数はソース ファイル内でのみ表示され、定義の時点からこのファイル内で終了する必要があります。

2. 静的ローカル変数

特徴:

A. この変数はグローバルデータ領域にメモリを割り当てます。

B. 初期化: 明示的に初期化されない場合、暗黙的に 0 に初期化され、後続の関数呼び出しは初期化されなくなります。

C. プログラムの終了まで常にグローバルデータ領域に存在します。ただし、そのスコープはローカル スコープであり、それを定義する関数またはステートメント ブロックが終了すると、そのスコープも終了します。

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

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

データ型>::=

クラスの静的データ メンバーには 2 つのアクセス形式があります:

. または ::

静的データメンバーのアクセス権限が許可されている場合(つまりパブリックメンバー) 、プログラム内で使用できます。上記の形式に従って静的データ メンバーを参照します。

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

以上がこの記事の全内容です。皆様のお役に立てれば幸いです。勉強。

関連する推奨事項: php の

定数と

変数

詳細なグラフィック説明
グローバル

変数を設定するための Angularjs メソッド

JavaScript についての深い理解ブロックレベルのスコープ、プライベート
変数

、モジュールモード(画像とテキストのチュートリアル)


以上がPHPの静的メンバー変数の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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