博客列表 >对象成员的访问限制

对象成员的访问限制

笑颜常开的博客
笑颜常开的博客原创
2019年03月26日 17:57:51686浏览

<?php
//public:默认,类内、类外和子类都可见。
//protected:类内、子类可见,类外不可见。
//private:类内可见,子类、类外不可见。
class Demo06{
//    对象属性
   public $name;
   protected $position;//protected:类内、子类可见,类外不可见。
   private $salary;//private:类内可见,子类、类外不可见。
   protected $department;
   public function __construct($a,$b,$c,$d)
   {
       $this->name=$a;
       $this->position=$b;
       $this->salary=$c;
       $this->department=$d;
   }
   //获取器(方法/函数)
//    访问过滤器
   public function getPosition(){
       return $this->department==='培训部'?$this->position:'无权查看';
   }
   public function getSalary(){
       return $this->department==='财务部'?$this->salary:'无权查看';
   }
//    设置器
   public function setSalary($d){
       return $this->department==='财务部'?$this->salary=$d:'无权更新';
   }
}
//类外部访问
$obj=new Demo06('朱老师','讲师',8888,'财务部');
//echo $obj->name.'<br>';
//echo $obj->getPosition().'<br>';
echo $obj->getSalary().'<br>';
echo $obj->setSalary(9999).'<br>';
echo '当前工资是:'.$obj->getSalary().'<br>';

class Sub extends Demo06{

}
$obj = new Sub('灭绝师太', '讲师', 123456, '培训部');
echo '<br>';
echo $obj->getPosition().'<br>';
echo $obj->getSalary().'<br>';

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议