PHP5 のアクセス メソッドを使用すると、クラス メンバーへのアクセスを制限できます。これは PHP5 の新機能ですが、アクセス メソッドを使用すると、信頼性の高いオブジェクト指向アプリケーションを開発し、再利用可能なオブジェクト指向クラス ライブラリを構築できます。
C++ や Java と同様、PHP には public、private、protected の 3 つのアクセス方法があります。アクセス方法を指定しない場合、デフォルトのローカル アクセスが使用されます。メソッドは public です。 static キーワードの前にアクセス メソッドを配置することで、静的メンバーのアクセス メソッドを指定することもできます (public static など)。 クラス外のすべてのコードに制限なくアクセスできます。 どちらも読み取りと書き込みが可能です。パブリック プロパティ。スクリプト内のどこからでもパブリック メソッドを呼び出すことができます。PHP の以前のバージョンでは、すべてのメソッドとプロパティがパブリックであったため、オブジェクトは適切に構造化された配列のように見えました。
プライベート (プライベート) メンバーは、内部でのみ表示されます。同様に、同じクラス内のメソッドのみが、親クラスのプライベート メンバーにアクセスできません。クラスのメンバーとクラスのインスタンスはプライベート メンバーにアクセスできることに注意してください。例 6.8 を参照してください。equals メソッドは 2 つのウィジェットを比較します。equals メソッドは同じクラスの 2 つのオブジェクトを比較しますが、この例では各オブジェクト インスタンスが次のようになります。一意の ID。equals メソッドは名前と価格のみを比較します。Java と C の両方でこのような操作が可能です。
プライベート メンバー
クラスウィジェット
{
private $name;
public function __construct($name, $price)
{
$this->name = $name; $this->price = floatval($price);
$this->id = uniqid();
//2 つのウィジェットが同じかどうかを確認します
public functionquals($widget )
{
return( ($this->name == $widget->name)AND
($this->price == $widget->price));
}
}
$w1 = 新しいウィジェット('Cog' , 5.00);
$w2 = 新しいウィジェット('歯車', 5.00);
//TRUE
if($w1-> ;equals($w2) )
{
print("w1 と w2 は同じです
n");
}
//FALSE
if($w1->equals($w3))
{
print("w1 と w3は同じです
n");
}
//FALSE、 == 比較に ID が含まれます
if($w1 == $w2) ID が異なるため file:// は等しくありません
{
print (「w1 と w2 は同じです
n」);
サブクラスは、親クラスのメソッドをオーバーライドすることによってメソッドにアクセスする方法を変更できます。ただし、パブリック クラスのメンバーをオーバーライドする場合、そのメンバーはサブクラス内でパブリックのままである必要があります。 protected または public になるプライベート メンバーは、引き続き現在のクラス内でのみ表示されます。親クラスのプライベート メンバーと同じ名前のメンバーを宣言すると、現在のクラスに別のメンバーが作成されるだけです。したがって、技術的にはプライベートをオーバーライドすることはできません。
Final キーワードは、メンバー メソッドへのアクセスを制限するもう 1 つの方法です。サブクラスは、親クラスで Final とマークされたメソッドをオーバーライドできません。
//haohappy 注: PHP5 のオブジェクト指向モデルはまだ完全ではありません。たとえば、Java のように、データ、メソッド、さらにはクラスに Final を使用することはできません。
http://www.bkjia.com/PHPjc/314121.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/314121.html
技術記事
PHP5 のアクセス メソッドを使用すると、クラス メンバーへのアクセスを制限できます。これは PHP5 の新しい機能ですが、アクセス メソッドを使用すると、信頼性の高い...