PHP面向对象继承 多态总结

继承

1.使用extends来实现继承。
2.为什么要使用继承?
继承让我们摆脱重复的代码,让我们的功能得以扩展。

class Car
{
    public $wheel; //汽车轮子
    public function run()
    {
        echo '能跑';
    }
    public function stop()
    {
        echo '能刹车';
    }
}
class Truck extends Car
{
    public $load; //载货量
}

在上面的代码中,car是父类(基类),truck是子类(派生类)

3.继承-构造方法
总结:(1)子类继承父类时,子类没有构造方法,实例化子类对象时,会执行父类的构造方法。子类如果有自己的构造方法,实例化子类对象时,只会自动执行子类自己的构造方法。
(2)实例化子类对象时,既要执行子类的构造方法,又要执行父类的构造方法如何实现?
在子类的构造方法中,使用 parent::__construct(); 主动调用父类的构造方法。

4.protected
protected:受保护的。
父类中被protected修饰的成员,只有在类内部以及继承类中使用,类外部不能使用。

多态——抽象类、覆盖

1.抽象方法的特点
(1)抽象方法没有方法体。
(2)抽象方法和类都要由abstract修饰。

2.抽象类有哪些特点
(1)有抽象方法的类必须是抽象类。
(2)抽象类不能实现化,没有自己的对象。
(3)抽象类都是父类,它下面有子类。
(4)子类继承抽象类后,必须实现父类所有的抽象方法。

3.继承抽象类时需要注意什么
子类继承抽象类后,必须实现父类所有的抽象方法。

4.重写(覆盖)父类的方法时,访问修饰符需要注意什么
子类重写父类的方法时,访问修饰符的权限应该符合
子类方法的访问权限 高于 父类方法的访问权限。

你可能感兴趣的:(PHP面向对象继承 多态总结)