0%

继承

一般说到面向对象的继承时,大多数人都能想到这是代码复用的一种机制,说到代码复用,其实在一个文件如function.php写一个方法在另外一个文件调用一下也是一种复用方法,那么为什么非要用继承呢?这TM是个问题,特此记录!

一、概念

  1. 继承:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。
  2. 实现:使用extends
  3. 限制:public和protected属性和方法可以被继承,private不可以
  4. 结果:继承后子类自动拥有了父类的属性和方法。
    • 子类也可以复写父类的方法,即方法的重写
    • 子类也可以写自己特有的属性和方法,目的是实现功能的扩展。

二、分析

  1. 优点

    • 提高了代码的复用性,继承后就拥有父类的属性和方法
    • 提高了代码的维护性,子类可以重写父类的属性和方法,也可以定义自己特有的方法和属性
    • 实现多态的前提,父类定义基础方法,不同子类重写此基础方法从而实现多态
  2. 缺点

    • 降低代码的灵活性,只要继承就肯定拥有父类的所有属性和方法
    • 增强了耦合性