在php中对属性或方法的访问控制,是在前面加public private protected等关键字来实现的,public修饰的类成员可以在任何地方访问,private修饰的类成员只能够被自身访问,protected修饰的类成员能被自身或其子类访问。
<?php
class test{
public $public='public';
private $private='private';
protected $protected='protected';
public function show(){
echo $this->private;
}
public function show2(){
echo $this->protected;
}
}
$test=new test();
echo $test->public;
$test->show();
$test->show2();
// exit();
// echo $test->protected; //会产生一个致命错误
// echo $test->private; //也会产生一个致命错误 private属性只能在定义的类中访问
/**
*
*/
class test2 extends test
{
//重写父类的show()方法
function show(){
//继承自父类的protected
echo $this->protected;
}
}
$test2=new test2();
echo "<hr/>";
// $test2->protected; //会产生一个致命错误 protected属性不能在外部访问
$test2->show(); //能够访问 protected只能被自身或其子类访问
?>