子类重载父类的方法

注意点:

子类覆盖父类的方法时一定要注意,在子类中重写的方法的访问权限一定不能低于父类被覆盖的方法的访问权限

例如在父类中的方法的访问权限是protected,那么子类中的重写的方法就要是protected或者public,如果父类的方法权限是public,子类中重写的方法只能是public

<?php
    class person{
        protected $name;
        protected $age;
        protected $sex;

        function __construct($name='',$sex='男',$age=1){
            $this->name=$name;
            $this->age=$age;
            $this->sex=$sex;
        }

        function say(){
            echo '我的名字:',$this->name,'我的性别:',$this->sex,'我的年龄:',$this->age;
        }
    }

    class stu extends person{
    private $school;

    function __construct($name='',$sex='男',$age=1,$school=''){
        parent::__construct($name,$age,$sex);
        $this->school=$school;
    }

    function study(){
        echo $this->name,'正在',$this->school,'学习','<br>';
    }

    function say(){
        parent::say();
        echo '在',$this->school,'学习';
    }
}
$stu1= new stu( '张三','男',26);
$stu1 ->say();

?>
posted @ 2013-12-04 03:22  long896130895  阅读(763)  评论(0编辑  收藏  举报