ホームページ >バックエンド開発 >PHPチュートリアル >PHPのクラスとオブジェクトのアクセス制御(可視性)
クラスとオブジェクト > アクセス制御 (可視性)
同じクラスのオブジェクトは、同じインスタンスでなくても、互いのプライベートメンバーと保護されたメンバーにアクセスできます。これは、これらのオブジェクトの内部実装の詳細がわかっているためです。
同じオブジェクトタイプのプライベートメンバーにアクセス
<?phpclass Test{ private $foo; public function construct($foo) { $this->foo = $foo; } private function bar() { echo 'Accessed the private method.'; } public function baz(Test $other) { // We can change the private property: $other->foo = 'hello'; var_dump($other->foo); // We can also call the private method: $other->bar(); } }$test = new Test('test');$test->baz(new Test('other'));?>
//発見: インスタンスオブジェクトを渡すことにより、プライベートメソッドとプロパティ
クラスとオブジェクト>アクセス制御(可視性)オブジェクトへの外部アクセス同じクラスのメンバーは、同じインスタンスでなくても、互いのプライベート メンバーと保護されたメンバーにアクセスできます。これは、これらのオブジェクトの内部実装の詳細がわかっているためです。
<?phpclass Test{ private $foo; public function construct($foo) { $this->foo = $foo; } private function bar() { echo 'Accessed the private method.'; } public function baz(Test $other) { // We can change the private property: $other->foo = 'hello'; var_dump($other->foo); // We can also call the private method: $other->bar(); } }$test = new Test('test');$test->baz(new Test('other'));?>//発見: インスタンスオブジェクトを渡すことで、プライベートメソッドとプロパティへの外部アクセスが実現します
以上がPHPのクラスとオブジェクトのアクセス制御(可視性)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。