接口是什么? 生活中最明显的就是电脑上的usb接口了,我们都知道,usb的作用使得电脑和任何一个电子设备只要都支持这个接口,就可以互相通信,交互就变得非常方便。在编程语言中,也是如此。
从一篇文章中看到作者是通过电脑的usb接口来解释编程语言中的接口的,写得很好,这里根据自己的理解,又作了补充解释。
首先,接口必然涉及到至少两个对象(一个电脑+一个支持usb接口的其他设备就拿手机吧)。
定义接口为 interface USB 。 那USB对于电脑来说,肯定要有启动、卸载、读取、写入这些功能,可以把usb定义为如下
interface USB { public boolean start(); public boolean stop(); public String read(); public boolean write(String context);}
电脑类如下,只使用接口,这样就不用关心USb设备时如何实现的。
class Computer{ Computer() { System.out.println("Computer设备创建成功,可以通过usb访问其他设备"); }//打开usb设备,并且读取信息 public void useUSB(USB u) { u.start(); u.read(); } //退出usb设备 public void exitUSB(USB u) { u.exit(); } //写入信息到usb设备中 public void writeUSB(USB u) { u.write("写入信息到USB"); }}
手机类
class Phone implements USB{ public Phone() { System.out.println("Phone设备制造完毕,支持usb接口"); } public boolean start() { System.out.println("手机usb连接成功"); return true; } public boolean stop() { System.out.println("手机usb停止成功"); return true; } public String read() { System.out.println("usb读取手机信息"); return ""; } public boolean write(String context) { System.out.println("usb写入手机信息"); return true; }}
接下来,展示电脑如何通过usb使用手机的
public static void main(){ Computer c1 = new Computer(); USB p1 = new Phone(); Phone p2 = new Phone(); c1.useUSB(p1); c1.exitUSB(p2);}
代码大概意思就是如此,不过,还没在jvm里面跑过这些代码,先睡觉了,明天继续跑下验证。