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

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

WBOY
リリース: 2016-06-13 12:37:05
オリジナル
827 人が閲覧しました

/*
------------------------------------------- ----------------------------------
| この記事は Haohappy<
| = 章のクラスとオブジェクトのメモ
| = 不要なトラブルを避けるため、転載しないでください。批判や修正は大歓迎です。私たちはすべての PHP 愛好家とともに進歩していきたいと考えています。
= PHP5 Research Center: http://blog.csdn.net/haohappy2004
--------- ----- -------------------------------------- ----- ---------------
*/


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

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

静的プロパティには、クラスにカプセル化されるデータが含まれており、クラスのすべてのインスタンスで共有できます。固定クラスと制限されたアクセス メソッドでは、クラスの静的プロパティは関数のグローバル関数と非常によく似ています。 変数

次の例では、静的プロパティ Counter::$count を使用します。これは Counter に属します。この例では、getCount メソッドは Counter::$count の代わりに self::$count を返します。このクラスを使用して参照することはできません。

静的メソッドは、クラスによってカプセル化される必要がある関数を実装し、特定のオブジェクトとは関係がありません。静的メソッドは、クラスの属性に完全にアクセスできます。

6.3 の例では、getCount は通常のメソッドですが、PHP では this 変数を作成しません。ただし、getCount がどのオブジェクトにも属していない場合は、静的メソッドを使用する必要があります。呼び出した場合でも、PHP はこの変数を静的メソッド内に作成しません。

例 6.7 は、getCount を静的メソッドに変更した 6.3 からのものです。Static キーワードは、インスタンスが getCount を呼び出すのを防ぐことはできませんが、PHP はメソッド内でこの変数を作成しません。 this-> を使用して呼び出すと、エラーが発生します。

//6.3 例は、セクション 4 - コンストラクターと分析を参照しています。コンストラクター内の例 (前の記事を参照) を比較します。
//static メソッドと通常のメソッドの違いを簡単に把握できます。

これが静的か非静的かを判定するメソッドを書くことができます。もちろん、static キーワードを使用すると、このメソッドはどのように呼び出されても常に static になります。

クラスでも定数属性を定義できます。public static を使用する必要はなく、const を使用するだけです。定数属性は常に静的であり、クラスをインスタンス化するオブジェクトの属性ではありません。 >
コードをコピー

コードは次のとおりです:

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

function __construct()
> 自分: :$count;

static function getCount( )
{ Counter()

//出力 1
print() . "
n");

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

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