9.接口

作者: 云木杉 | 来源:发表于2019-02-22 18:19 被阅读0次

抽象类和抽象方法

  • 基类存在的目的往往是为它的所有导出类创建一个通用接口,所以才有抽象类的意义。
  • 如果一个类包含或多个抽象方法,该类必须被限定为抽象类(否则,编译器就会报错)

接口

  • interface这个关键字产生一个完全抽象的类,它根本就没有提供任何具体实现。它允许创建者确定方法名、参数列表和返回类型,但是没有任何方法体。
  • 接口只提供了形式,未提供任何具体实现。

创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,被称为策略设计模式

完全解耦

  • 其实就是做了一个适配器模式,通过一个adapter去适配你没有继承或实现的关系。
public class FilterAdapter implements Processor{

    Filter filter;
    
    public FilterAdapter(Filter filter) {
        this.filter = filter;
    }

    @Override
    public String getName() {
        // TODO Auto-generated method stub
        return filter.name();
    }

    @Override
    public Object process(Object input) {
        // TODO Auto-generated method stub
        return filter.process((Waveform) input);
    }

}

Java的多重继承

使用接口的核心原因

  • 为了能够向上转型为多个基类型(以及由此而带来的灵活性)。
  • 防止客户端程序员创建该类的对象,并确保这仅仅是建立一个接口。

通过继承来扩展接口

  • 模模糊糊

适配接口

  • 接口最吸引人的原因之一就是允许同一个接口具有多个不同的具体实现。
  • 可以再任何现有类之上添加新的接口,意味着让方法接收接口类型,是一种让任何类都可以对该方法进行适配的方式。

接口中的域

  • 也是模模糊糊
  • 接口中定义的域不能是空“final”,但是可以被非常量表达式初始化。
  • 当然,这些域不是接口的一部分,他们的值被存储在该接口的静态存储区域内。

接口与工厂

  • 接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方法就是工厂方法设计模式。

相关文章

  • 9.接口

    策略设计模式:创建一个能够根据所传递的参数对象的不同而具有不同行为的方法。这类方法包含所要执行的算法中固定不变的部...

  • 9.接口

    抽象类和抽象方法 基类存在的目的往往是为它的所有导出类创建一个通用接口,所以才有抽象类的意义。 如果一个类包含或多...

  • 《Thanking in Java》9. 接口

    9.1 抽象类和抽象方法 包含抽象方法的类叫做抽象类,如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的。 ...

  • Java编程思想笔记9.接口

    点击进入我的博客 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 9.1抽象类和抽象方法 抽象方...

  • 9.基于接口而非实现编程

    1. Why? 应用这条原则,可以将接口和实现相分离,封装不稳定的实现,只暴露稳定的接口。调用方面向接口而非实现编...

  • 大东关

    9.一3.一2701。9.一2.一2901

  • Leetcode PHP题解--D133 9. Palindro

    D133 9. Palindrome Number 题目链接 9. Palindrome Number[https...

  • 设计模式学习笔记(三)

    9. 迭代器模式 迭代器模式提供一种方法顺序访问一个聚合对象的各个元素,而又不暴露其内部的细节。这使得接口变得更加...

  • TypeScript-02-类型

    1.六种类型 2.对象 3.数组 4.元组 5.枚举 6.函数 7.any 8.推断 9.断言 10.接口 11....

  • python面试学习路线-9.算法

    9.算法

网友评论

      本文标题:9.接口

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