对象的方法是否应该能够访问同一类的另一个对象的受保护属性?
原文链接:https://www.f2er.com/php/240215.html我在PHP编码,我刚刚发现,即使不是同一个对象,也允许通过同一个类的方法访问对象的protected属性.
在该示例中,首先,您将在输出中获得“3” – 因为函数readOtherUser将成功访问该值 – 之后将发生PHP致命错误 – 因为主程序将无法访问相同的值.
<?PHP class user { protected $property = 3; public function readOtherUser () { $otherUser = new user (); print $otherUser->property; } } $user = new user (); $user->readOtherUser (); print $user->property; ?>
这是一个PHP错误还是预期的行为(我将不得不重新学习这个概念…… :))(并且有参考这个事实)?如何在其他编程语言中完成?
谢谢!