接口-01

作者: zq_mo | 来源:发表于2017-10-16 15:20 被阅读0次

    抽象类
    包含抽象方法的类,而且编译器会强制我们使用abstract关键字限制抽象类
    另外,我们还可以创建一个没有任何抽象方法的抽象类,以此来阻止创建该类的对象

    interface关键字产生的是一个完全冲抽象的类,即所有的方法都是抽象方法,而abstract关键字可以产生部分抽象方法
    继承interface接口的类的必须实现接口中所有的方法
    接口中的域是隐式的static和final的

    关于完全解耦
    如果我们将一些方法封装到一个策略类中,然后用类的继承方式重写这些策略方法。那么,我们在调用策略时只能传递策略类或者其子类的对象。但是当我们要传递类并没有继承该策略类时,就会遇到问题,这就是调用策略的方法和策略类耦合过紧的问题。因此,我们需要进行完全解耦,方法是:将策略类中方法以接口的形式提取出来,让我们要传递的类继承该策略接口。

    关于适配器模式
    如果无法修改你要使用的类,比如,我们要向调用策略的方法出传递一个类,但是该类无法被我们修改。此时,我们可以创建一个适配器,然后向方法中传递一个适配器对象。该适配器对象接受你所拥有的接口,并产生你需要的接口

    接口和抽象类的选择
    如果要创建一个不带任何方法实现以及成员变量的基类,则选择接口

    关于接口嵌套
    如果一个接口中嵌套另一个接口,那么,在实现顶层接口时并不需要实现嵌套接口。另外,private接口不能再定义它的类之外实现。

    接口与工厂
    生成接口对象的一种典型方式就是工厂设计模式。在工厂中调用get方法获取接口实现类的对象,可以将获取的对象进行向上转型,然后调用接口中的方法实现多态。

    相关文章

      网友评论

          本文标题:接口-01

          本文链接:https://www.haomeiwen.com/subject/cdzayxtx.html