セクション 7 - クラスの静的メンバー
クラスの静的メンバーは通常のクラス メンバーとは異なります。静的メンバーはオブジェクトのインスタンスとは何の関係もなく、クラス自体とは関係がありません。静的メンバーは関数とデータを実装するために使用されます。静的メンバーには、クラスによってカプセル化されますが、特定のオブジェクトの関数やデータは含まれません。
静的プロパティには、クラス内にカプセル化されるデータが含まれており、実際にはクラスのすべてのインスタンスで共有できます。 、固定クラスに属し、アクセス メソッドを制限することに加えて、クラスの静的プロパティは関数のグローバル変数に非常に似ています
次の例では静的プロパティ Counter::$count を使用します。 Counter クラスであり、Counter インスタンスに属していません。this を使用して参照することはできませんが、この例では、getCount メソッドは Counter::$ の代わりに self::$count を返します。
静的メソッドは、クラスがカプセル化する必要がある関数を実装しており、特定のオブジェクトとは何の関係もありません。静的メソッドは、クラスのプロパティに完全にアクセスすることも、クラスのインスタンスによってアクセスすることもできます。 6.3 の例では、getCount は通常のメソッドであり、PHP は this 変数を作成しますが、メソッドは使用されません。場合によっては、有効なオブジェクトがない場合でも、静的メソッドを使用する必要があります。オブジェクトから呼び出した場合でも、PHP は静的メソッド内にこの変数を作成しません。 6.3 から getCount を静的メソッドに変更しました。 Static キーワードは、インスタンスが -> 演算子を使用して getCount を呼び出すことを妨げませんが、this-> を使用して呼び出す場合、PHP はこの変数を作成しません。
//6.3 の例は、セクション 4 - コンストラクターとデストラクター (前の記事を参照) の例を参照してください。2 つの例を比較することで、
//静的メソッドと通常のメソッドの違いをよく理解できます。
もちろん、 static キーワードを使用すると、どのように呼び出されても、このメソッドは常に静的になります。
クラスでは定数属性を定義することもできます。 public static を使用する必要はありません。定数属性は常に静的であり、このクラスのオブジェクトの属性ではありません。リスト6.7 staticメンバー<
http://www.bkjia.com/PHPjc/445275.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/445275.html
技術記事