接口是一种抽象的更彻底的抽象类,接口里的所有方法都是抽象方法。本文包含如下:
接口的概念Java8中接口的定义接口的继承使用接口接口和抽象类面向接口编程
接口的概念
可见,接口是从多个相似类中抽象出来的规范,不停任何实现。接口体现的是规范和实现分离的设计哲学。接口的好处:软件系统的各模块也应该采用这种面向接口的耦合,降低各模块之间的耦合,为系统提供更好的可扩展性和维护性。接口里通常是定义一组公用方法。
Java8中接口的定义
接口的继承
接口的继承支持多继承,即一个接口可以有多个直接父接口。子接口继承父接口,将会获得父接口里定义的所有抽象方法、常量。
使用接口
接口的用途:实现接口和继承父类相似,一样可以获得所实现接口里定义的常量、方法以下展示一个实现接口的类:在上面的程序中:Printer类实现了Output接口和Product接口,因此Printer对象既可以赋给Output变量,也可以赋给Product变量。仿佛Printer类既是Output类的子类,也是Product类的子类,也就是Java提供的模拟多继承。实现接口方法时,必须使用public修饰符
接口和抽象类
接口和抽象类都具有如下特征:接口和抽象类的差别:在接口类中:而对于抽象类:除此之外,这两者在用法上存在如下区别:
面向接口编程
面向接口可以降低耦合。以下介绍两个应用场景:
简单工厂模式上面的Computer类已经完全与Printer类分类,只是与Output接口耦合。Computer不再负责创建Output对象,系统提供一个Output工厂来负责生成Output对象,这个OutputFactory工厂代码如下:下面是BetterPrinter实现类的代码,BetterPrinter只是对原有的Printer进行简单修改,以模拟系统重构后的改进。上面的BetterPrinter类也出现了Output接口,因此也可被当成Output对象使用,于是只要把OutputFactory工厂类的getOutput()方法中粗体字代码改为如下代码:returnnewBetterPrinter();再次运行前面的OutputFactory.java程序,发现系统运行时已经改成BetterPrinter对象,而不是原来的Printer对象。对于设计模式的理解:
命令模式
文章为作者独立观点,不代表股票交易接口观点