php oop三大特性-继承

在php OOP中使用继承主要是为了方便代码维护、扩展、增加代码利用效率的,使用extends关键字可以继承一个基类(父类),php中是单继承模式,即一个子类只可以同时有一个父类。使用private, public, var,protected,可以设置权限(对访问权限进行控制),子类权限只能比父类权限大。

<?php

class ren
{
    public $name;
    public $age;
    public $sex;

    function __construct($name,$age,$sex)
    {
      $this->name=$name;
      $this->age=$age;
      $this->sex=$sex;
    }
    public function say()
    {
        echo "我的名字是{$this->name}我的年龄是{$this->age},我的性别是{$this->sex}";
    }
}
class student extends ren
{
    public $school;

   function __construct($name,$age,$sex,$school)
    {
       parent::__construct($name,$age,$sex);
       $this->school=$school;
    }
    public function say()
    {
        parent::say();
        echo "我在{$this->school}上学";
    }
}
$me = new student('liang','24','man','css');
$me->say();

使用parent:: 来引用父类方法, 为什么要在子类的构造方法里面再引用一次父类中的构造方法是因为,如果不引用, 只相当于扩展了一个school,这个时候再从子类实例化对象时, 因为只赋了一个school, 这里相当于重写,所以得到的结果就只会有一个school, 引用后, 就会把父类中的信息都带过来, 这样做到, 父类中如果出现更改, 对应的子类中也会更改的效果。