接口优于抽象类(18)

一、java 提供了两种容许多个实现的类型:接口、抽象类java

  • 抽象类容许某些方法的实现,接口不容许
  • 为了实现抽象类定义的类型,类必须成为抽象类的子类
  • java只容许单继承,抽象了我受到了极大的限制
  • 任何一个类,只要实现了全部定义的必要方法,就被容许实现一个接口(不管该类处于什么层次)

二、现有类能够很容易被更新,以实现新的接口安全

三、接口是混合(mixin)类型的理想选择框架

四、接口容许咱们构建非层次结构的类型框架设计

五、接口使得安全的加强类的功能成为可能继承

  • 抽象类则除了继承没别的好办法

六、每一个重要接口都提供一个骨架实现类接口

  • 接管全部与接口实现相关的类
  • 骨架类就是一个抽象类,他能够实现一个接口
  • 接口和抽象类的优势结合起来
  • 以下面静态工厂的实现,骨架实现类,为抽象类提供实现上的帮助,有没有严格限制

  • 能够用内部私有类模拟多重继承

七、抽象类演变比接口演变容易得多方法

八、设计公有接口须要很是谨慎,一旦公开被普遍接受,再想修改是不可能的im

九、总结:总结

  • 接口一般是定义容许多个实现的类型的最佳途径
  • 当演变容易性比灵活性更重要时,选择抽象类,接受她的局限
  • 重要接口坚定使用骨架实现类
相关文章
相关标签/搜索