声明,实例化,属性与类常量,自动加载小总结

原创 2018-12-18 16:01:17 228
摘要:/*  * 类是一类事物共同特征和行为的抽象表达,是对象的模板  * 类声明用关键字class  * 对象是类的实例化表现形式  *  * 属性是对象的共同特征,不同的对象其属性值可能不一样  * 类常量,是所有对象共有的,且只有一份,保存在类声明中  *  *&nbs
/*
 * 类是一类事物共同特征和行为的抽象表达,是对象的模板
 * 类声明用关键字class
 * 对象是类的实例化表现形式
 *
 * 属性是对象的共同特征,不同的对象其属性值可能不一样
 * 类常量,是所有对象共有的,且只有一份,保存在类声明中
 *
 * 类的自动加载
 * spl_autoload_register(回调函数)
 *
 * 回调函数接受一个参数就是要实例化的类名
 *
 * 类的访问限制符
 * public 在类内部,子类和类外部都可访问
 * protected 只能在类内部和子类中访问,不能在类外访问
 * private 只能在类内部访问,不能在子类和类外访问
 * 我们可以在类中定义一个方法作为接口,来访问有访问限制的属性或方法
 * */
class Staff
{
    public $name;
    protected $dept;
    private $salary;

    public function __construct($name='杨过',$dept='开发部',$salary = 5000)
    {
        $this->name = $name;
        $this->dept = $dept;
        $this->salary = $salary;
    }
    //定义一个借口来访问被限制的属性
    public function getDept()
    {
        if($this->name=='peter'){
            return '你没有权限访问';
        }
        return $this->dept;
    }

    public function getSalary()
    {
        if($this->dept=='财务部'){
           return '敢打听老板身边人的工资,不想混了?';
        }
        return $this->salary;
    }
}

$staff = new Staff();
echo $staff->getDept();
$staff = new Staff('peter');
echo '<hr>';
echo $staff->getDept();
echo '<hr>';
$staff = new Staff('小龙女','财务部',5000);
echo $staff->getSalary();

QQ图片20181114103819.png

批改老师:韦小宝批改时间:2018-12-18 16:08:00
老师总结:写的很不错哦!总结的也没毛病!课后记得要多多练习哦!

发布手记

热门词条