ホームページ > php教程 > php手册 > セクション 7 クラスの静的メンバー [7]

セクション 7 クラスの静的メンバー [7]

WBOY
リリース: 2016-06-13 12:45:42
オリジナル
850 人が閲覧しました


クラスの静的メンバーは、一般的なクラス メンバーとは異なります。静的メンバーはオブジェクトのインスタンスとは関係がなく、クラスによってカプセル化される関数とデータを実装するためにのみ使用されますが、これには含まれません。静的メンバーには、静的メソッドと静的プロパティが含まれます。

静的プロパティには、クラスにカプセル化されるデータが含まれており、実際には、クラスのすべてのインスタンスで共有できます。固定クラスに属し、アクセス方法を制限するクラスの静的プロパティ 関数

のグローバル変数に非常によく似ています。 次の例では、静的プロパティ Counter::$count を使用します。 Counter クラスを使用して参照することはできませんが、この例では、getCount メソッドは Counter::$count の代わりに self::$count を返します。

静的メソッドは、クラスがカプセル化する必要がある関数を実装しており、特定のオブジェクトに依存しない静的メソッドは、クラスのプロパティに完全にアクセスでき、また、

例 6.3 では、getCount は -> で呼び出される通常のメソッドですが、このメソッドは使用されませんが、getCount はこの変数を作成します。場合によっては、有効な object がない場合でも、この変数を呼び出す必要があります。その場合、PHP は、オブジェクト
例 6.7 は、getCount を静的メソッドに変更する 6.3 から派生したもので、Static キーワードは、インスタンスが getCount を呼び出すのを防ぐことはできませんが、これを使用すると、PHP はこの変数をメソッド内に作成しません。 -> を呼び出すと、エラーが発生します。

//6.3 例は、セクション 4 -- コンストラクターとデストラクターの例を参照してください (前の記事を参照)。
//静的メソッドと通常のメソッドの違い。

これが作成されるかどうかを判断することで、静的に呼び出されるか非静的に呼び出されるかを示すメソッドを作成できます。

クラスでは public static を使用せずに定数プロパティを定義することもできます。定数プロパティは常に静的です。クラスをインスタンス化するオブジェクトのプロパティではなく、クラスのプロパティです。

リスト 6.7 静的メンバー

class Counter
{
private static $count = 0;
const VERSION = 2.0;

function __construct()
{
self: :$count ;
}

関数 __destruct()
{
self::$count--;

静的関数 getCount()
{
return self::$count;
}
};
//インスタンスを作成すると、__construct() が実行されます
$c = new Counter();

//出力 1
print(Counter::getCount(). " < ;br>n");

//クラスのバージョン属性を出力します
print("Version used: " . Counter::VERSION . "
n");
? >

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート