一、什么是面向接口编程
要正确地使用Java语言进行面向对象的编程,从而提高程序的复用性,增加程序的可维护性、可扩展性,就必须是面向接口的编程。面向接口的编程就意味着:开发系统时,主体构架使用接口,接口构成系统的骨架。这样就可以通过更换实现接口的类来更换系统的实现。
例如:在上节示例中,Java接口Introduceable就是系统骨架的一个重要组成部分,这个Java接口定义了一个方法:detailo中心类和教员类分别实现了Java接口Introduceable,因此具有了不同的detail方法实现。在School2类中,print方法接收的参数类型是Introduceable,这样,就可以向print方法传递任意一个Introduceable接口的实现类,在运行时,Java虚拟机会根据实际创建的对象类型调用不同的方法实现。这就意味着:可以通过更换实现接口的类来更换系统的实现。
二、面向接口编程的示例
接下来通过一个示例详细讲解面向接口编程的实现过程。
案例需求的效果图如图1所示。
升级系统,要求如下:
★ 打印机有多种类型,比如:黑白打印机、彩色打印机等。
★ 中心可能配备其中任意一款打印机,负责打印教员或者中心的详细信息。
★ 系统要具备良好的可扩展性与可维护性。
图1 使用不同类型的打印机进行打印
采用面向接口编程的方