this,self,parent三个关键字从字面上比较好理解,分别是指这、自己、父亲。

this是指向当前对象的指针(姑且用C里面的指针来看吧)
self是指向当前类的指针
parent是指向父类的指针(我们这里频繁使用指针来描述,是因为没有更好的语言来表达)
我们知道parent是指向父类的指针,一般我们使用parent来调用父类的构造函数。

重写时访问级别只可以等于或者宽松于父类 不可提升访问级别

访问权限提升 错误 
父类为public 则子类重写也只能为public
父类为protected 则子类可为public/protected
父类为private 则子类public/protected/private皆可


<?php
    /*
     * 重写/override
     * 指:子类重写了父类的同名方法
     * 重载:overload
     * 指:存在多个同名方法,但参数类型或者个数不同
     * 通过传递不同的参数调用不同的方法。
     * 但是PHP不允许同时存在多个同名的方法,因此不能像Java一样完成这样的重载
     * 但是,PHP的灵活性能达到类似的效果,用func_get_args()
     */
    class Human{
        public function say(){
            echo '吃了吗';
        }
    }
    class Stu extends Human{
        public function say()
        {
            echo 'hello <br/>';
            parent::say(); // TODO: Change the autogenerated stub
        }
    }
    $ming=new Stu();
    $ming->say();

dOYcDS.png