合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
PHP面向对象的public、private、protected之间的区别: public:本类、子类、实例化对象都可以调用; protected:本类和子类可以执行,实例化对象不可以直接调用,需要在执行public函数调用; private:只能在本类执行,子类与实例化对象都不可以调用。 class A{ public $name; public $age; private $height; protected $sex; function __construct($x,$y,$z,$m){ $this->name = $x; $this->age = $y; $this->height = $z; $this->sex = $m; } public function show(){ echo $this->name.'<br/>'; echo $this->age.'<br/>'; echo $this->height.'<br/>'; echo $this->sex.'<br/>'; $this->walk(); } private function walk(){ echo '跑步'; } protected function eat(){ echo '吃饭'; } } $a = new A('fxxy','28','165cm','男'); $a->show();//可以执行 //echo $a->sex;//无法访问 //echo $a->height;//无法访问 class B extends A{ public function go(){ $this->walk(); } public function to(){ $this->eat(); } } $b = new B('xgl','20','162cm','女'); $b->show();//可以执行 echo $b->name;//可以访问到 //echo $b->height;//无法访问到 //echo $b->sex;//无法访问到 //$b->go();//无法访问到 $b->to();//可以访问到