ホームページ >バックエンド開発 >PHPチュートリアル >PHP 5.0 オブジェクト モデルを詳しく調べるためのアクセス メソッド_PHP チュートリアル
php(現在主流の開発言語として)5のアクセスメソッドでは、クラスメンバーへのアクセスを制限することができます。これは php (現在の主流の開発言語として) 5 の新機能ですが、多くのオブジェクト指向言語にはすでに存在しています。アクセス メソッドを使用すると、信頼性の高いオブジェクト指向アプリケーションを開発し、再利用可能なオブジェクト指向クラス ライブラリを構築できます。
C++やJavaと同様に、php(現在主流の開発言語)には、public、private、protectedの3つのアクセスメソッドがあり、指定しない場合は、そのいずれかになります。アクセス方法メソッド、デフォルトのアクセス方法は public です。また、静的メンバーのアクセス方法を指定し、そのアクセス方法を static キーワードの前に置くこともできます (public static など)。パブリック メンバーには制限なくアクセスできます。 class どのコードでもパブリック プロパティの読み取りと書き込みが可能です。スクリプト内のどこからでもパブリック メソッドを呼び出すことができます。 php
(現在の主流の開発言語として)の最初のいくつかのバージョンでは、すべてのメソッドとプロパティはパブリックであり、オブジェクトが適切に構造化された配列のように感じられました。 プライベート(プライベート)メンバーはクラス内でのみ表示されます。プライベート属性の値を、それが配置されているクラスメソッドの外で変更したり読み取ったりすることはできません。同様に、同じクラス内のメソッドのみがプライベート メソッドを呼び出すことができ、継承されたサブクラスは親クラスのプライベート メンバーにアクセスできません。
クラスおよびクラスのインスタンス内のすべてのメンバーがプライベート メンバーにアクセスできることに注意してください。例 6.8 を見ると、equals メソッドは 2 つのウィジェットを比較します。 == 演算子は同じクラスの 2 つのオブジェクトを比較しますが、この例では、各オブジェクト インスタンスは名前と価格のみを比較します。 equals メソッドが別の Widget インスタンスのプライベート プロパティにアクセスする方法に注目してください。Java と C の両方でこれが可能です。
リスト 6.8 プライベートメンバー
class ウィジェット
{private $price;
public function __construct($name, $price)
{
$this->name = $name
{
return(($this->name == $widget->name)AND ($this->price == $widget->price)
}
}
$w1 = 新しいウィジェット(Cog) , 5.00);
$w2 = 新しいウィジェット(Cog, 5.00);
//TRUE
if($w1->equals($w2)); ( "w1 と w2 は同じです。n");
} //FALSE
if($w1->equals($w3))
{
print("w1 と w3 は同じ n");
//FALSE、== は比較に ID を含みます
{
print("w1 と w2 は同じ n"
}
; ?>
http://www.bkjia.com/PHPjc/508707.html
true
http://www.bkjia.com/PHPjc/508707.html
技術記事
PHP 5 (現在の主流の開発言語) のアクセス方法では、クラス メンバーへのアクセスを制限できます。これは (現在の主流の開発言語としての) PHP 5 の新機能ですが、多くの点で...