public protected private三种权限的区别总结:
public(公有) | protected(受保护) | private(私有) |
外部 | Y | N | N |
子类中 | Y | Y | N |
本类中 | Y | Y | Y |
<?php
class Human {
public $money=3000;
protected $che='BMW';
private $mv='kt';
public function t1(){
echo $this->money;//自身内部方法调用内部public属性
}
public function t3(){
echo $this->che;//自身内部方法调用内部protected属性
}
public function t5(){
echo $this->mv;//自身内部方法调用内部private属性
}
}
class Stu extends Human{
//继承human父类
public function t2(){
echo $this->$money;//子类中方法调用父类的属性
}
public function t4(){
echo $this->che;//子类种方法可以调用父类中protected属性
}
public function t6(){
echo $this->mv;//子类中方法不可以调用父类private属性
}
}
$stu=new Stu();
echo $stu->money;//子类外部调用父类public属性
$stu->t1();//子类外部调用父类public方法
$stu->t2();//子类外部调用自身内的public方法
//echo $stu->$che;//子类外部不可以调用父类protected的属性
//echo $stu->$mv;//子类外部不可以调用父类private的属性
$stu->t5();//子类可以外部调用父类含有private属性的方法
//$stu->t6();//子类中不可以外部调用自身中含有父类private的属性的方法
?>