PHP プログラミングでは、static キーワードは、プロパティまたはメソッドが特定のクラスに関連しているのではなく、クラスに関連していることを宣言します。クラスのインスタンス 関連するため、このタイプのプロパティまたはメソッドは「クラス プロパティ」または「クラス メソッド」とも呼ばれます
アクセス制御権限が許可されている場合は、このクラスのオブジェクトを作成せずに、クラス名と 2 つのコロン「::」を使用して直接呼び出すことができます。
static キーワードは変数とメソッドを変更するために使用できます。
インスタンス化せずに、クラス内の静的属性と静的メソッドに直接アクセスできます。
静的プロパティとメソッドは静的プロパティとメソッドにのみアクセスでき、非静的プロパティとメソッドにはクラスからアクセスできません。静的プロパティと静的メソッドが作成されるとき、呼び出すことができるこのクラスのインスタンスがまだ存在しない可能性があるためです。
静的属性はメモリ内に 1 つのコピーのみを持ち、すべてのインスタンスによって共有されます。
現在のクラスの静的メンバーにアクセスするには、self:: キーワードを使用します。
クラスのすべてのインスタンスは、クラス内の静的プロパティを共有します。
つまり、メモリ内に複数のインスタンスがある場合でも、静的属性のコピーは 1 つだけ存在します。
例、カウンター $count 属性を設定し、プライベートおよび静的な変更を設定します。
このように、外部の世界は $count 属性に直接アクセスできません。プログラムの実行結果には、複数のインスタンスが同じ静的 $count 属性を使用していることも示されています。
リーリー2 番目に、静的属性が直接呼び出されます
静的プロパティはインスタンス化せずに直接使用でき、クラスが作成される前に直接使用できます。
使用方法:
クラス名::静的プロパティ名
リーリークラスは作成されず、静的プロパティを直接使用できます。静的プロパティはいつメモリ内に作成されますか?
phpに関連する情報がありませんでした。
Java の概念を引用して説明することも普遍的である必要があります。静的プロパティと静的メソッドは、クラスが呼び出されたときに作成されます。
3、静的メソッド
静的メソッドは、クラスをインスタンス化せずに直接使用できます。
使用するメソッドはクラス名::静的メソッド名です
引き続きこの数学クラスを作成して数学的計算を実行します。
最大値を計算する方法を設計します。数学的な演算なので、このクラスをインスタンス化する必要はなく、このメソッドを引き継いで使用できるとさらに便利です。
これは、静的メソッドを説明するためだけに設計されたクラスです。 PHP には、数値を比較するための max() 関数が用意されています。
リーリー静的メソッドの呼び出し方法
最初の例では、静的メソッドが他の静的メソッドを呼び出すときに、self:: を使用します。
リーリー
self:: を使用して、このクラスの静的プロパティを呼び出します。
リーリー
リーリー
静的メソッドが非静的メソッドを呼び出す
PHP5 では、静的メソッドで $this 識別子を使用して非静的メソッドを呼び出すことはできません。
リーリー
クラス内の非静的メソッドが self:: によって呼び出される場合、システムはこのメソッドを自動的に静的メソッドに変換します。
リーリー