<?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>';