大家先来看一个简单的php代码,
<?php
class test{
private $num=1;
public function getv($obj) {
echo $obj->num;
}
}
$a = new test();
$b = new test();
$a->getv($b);
这是一段简单的不能再简单的php代码,按照我们对于面向对象的思考,最后一行代码初,应该会报错,因为对象的$num属性是私有属性,按理应该是不允许访问的,但是结果是输出了1.
我查了很多的资料,最后才在php的官方网站找到了依据,因为php对象的私有属性权限限制在类,就是说私有属性在同类之间没有访问限制,并且据说c++等面向对象的语言也都采用这种机制,让我有点诧异,再次给大家介绍这一种机制,如果遇到和我一样的疑问,就可以更快的得到帮助。