PHP5 には多くのオブジェクト指向の考え方が追加されています。PHP5 のオブジェクト指向の考え方は Java のオブジェクト指向の考え方に近いものです。ここでは、PHP5 を学習している友人の役に立つことを願って、PHP5 の static キーワードと const キーワードの機能について説明します。
(1) 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" ); input 静的メソッドにアクセスするためのクラス名 Counter::getCount
//クラスのバージョンを出力します
print( "Version used: " .Counter::VERSION. "
n" ); >?>
まあ、現時点で私の頭の中でわかっていることをわかりやすく説明しましたが、静的についてはまだ少し理解できていないような気がするので、アドバイスをお願いします。 !