ホームページ >バックエンド開発 >PHPチュートリアル >stephanie jacobsen は、PHP5 の static キーワードと const キーワードの違いを理解しています
PHP5 には多くのオブジェクト指向の考え方が追加されています。PHP5 のオブジェクト指向の考え方は Java のオブジェクト指向の考え方に近いものです。ここでは、PHP5 を学習している友人の役に立つことを願って、PHP5 の static キーワードと const キーワードの機能について説明します。
(1) static
static キーワードはクラス内にあり、メンバーを static として記述します。static の後のメンバーはクラスに属し、どのオブジェクト インスタンスにも属さず、他のクラスからはアクセスできないため、外部アクセスを制限できます。はい、クラスのインスタンスとのみ共有され、プログラムがメンバーを完全に保護します。クラスの静的変数はグローバル変数に非常に似ており、グローバル関数と同様に、クラスのすべてのインスタンスで共有できます。クラスの静的メソッドは、クラスの静的プロパティにアクセスできます。また、静的メンバーには self を使用してアクセスする必要があります。これを使用するとエラーが発生します。
(this と self の類似点と相違点については、http://blog.csdn.net/heiyeshuwu/archive/2004/11/03/165828.aspx を参照してください)
(2) const
const はキーワードですC の #define と同様に、定数を定義します。プログラム内で値を変更するとエラーが発生します。
上記のコードの例: (注: 次のコードは phpe.net からのものです)
コードをコピーします コードは次のとおりです:
class Counter
{
private static $count = 0;// 静的プロパティを定義します
const VERSION = 2.0;// 定数を定義します
// コンストラクター
function __construct()
{
self::$count++
}
// デストラクター
function __destruct()
; {
self::$count--;
}
//静的メソッドを定義する
static function getCount()
{
return self::$count;
}
}
// インスタンスを作成する
$c = new Counter ();
//印刷を実行します
print( Counter::getCount(). "
n" ); // 直接入力クラス名を使用して静的メソッドにアクセスします Counter::getCount
//クラスのバージョン
print( "使用されているバージョン: " .Counter::VERSION. "
n" );