ホームページ >バックエンド開発 >PHPチュートリアル >PHPのクラスとオブジェクトのアクセス制御(可視性)

PHPのクラスとオブジェクトのアクセス制御(可視性)

黄舟
黄舟オリジナル
2017-07-02 10:47:331863ブラウズ


クラスとオブジェクト > アクセス制御 (可視性)
同じクラスのオブジェクトは、同じインスタンスでなくても、互いのプライベートメンバーと保護されたメンバーにアクセスできます。これは、これらのオブジェクトの内部実装の詳細がわかっているためです。

同じオブジェクトタイプのプライベートメンバーにアクセス

<?phpclass Test{
    private $foo;    public function construct($foo)
    {
        $this->foo = $foo;
    }    private function bar()
    {
        echo &#39;Accessed the private method.&#39;;
    }    public function baz(Test $other)
    {
        // We can change the private property:
        $other->foo = &#39;hello&#39;;
        var_dump($other->foo);        // We can also call the private method:
        $other->bar();
    }
}$test = new Test(&#39;test&#39;);$test->baz(new Test(&#39;other&#39;));?>

//発見: インスタンスオブジェクトを渡すことにより、プライベートメソッドとプロパティ

クラスとオブジェクト>アクセス制御(可視性)オブジェクトへの外部アクセス同じクラスのメンバーは、同じインスタンスでなくても、互いのプライベート メンバーと保護されたメンバーにアクセスできます。これは、これらのオブジェクトの内部実装の詳細がわかっているためです。

同じオブジェクトタイプのプライベートメンバーにアクセス

<?phpclass Test{
    private $foo;    public function construct($foo)
    {
        $this->foo = $foo;
    }    private function bar()
    {
        echo &#39;Accessed the private method.&#39;;
    }    public function baz(Test $other)
    {
        // We can change the private property:
        $other->foo = &#39;hello&#39;;
        var_dump($other->foo);        // We can also call the private method:
        $other->bar();
    }
}$test = new Test(&#39;test&#39;);$test->baz(new Test(&#39;other&#39;));?>

//発見: インスタンスオブジェクトを渡すことで、プライベートメソッドとプロパティへの外部アクセスが実現します

以上がPHPのクラスとオブジェクトのアクセス制御(可視性)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。