PHP 修饰符对于程序员来说应该是很简单的东西,不过这个对我来说有个小坑
<?php
class A{
protected test()
{
echo 'test';
}
}
class B{
}
$obj = new B();
$obj->test();
上面的代码很简单,B继承A,A中有一个受保护的方法test,既然是受保护的那就是对B是可见的,但运行代码可以发现报错,说test方法不存在
其实还是自己对访问修饰符的理解有问题,$obj其实是在外部实例化的,调用test方法需要是public才可以
<?php
class A{
protected test()
{
echo 'test';
}
}
class B{
public test1() {
//要在类中访问才可以
$this->test();
}
}
$obj = new B();
$obj->test();