访问修饰符

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();
posted @ 2022-03-22 18:55  小刘的早餐店  阅读(22)  评论(0编辑  收藏  举报