類別與物件 > 存取控制(可見性)
同一個類別的物件即使不是同一個實例也可以互相存取對方的私有與受保護成員。這是由於在這些物件的內部具體實現的細節都是已知的。
存取同一個物件類型的私有成員
<?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中文網其他相關文章!