接口是什麼? 生活中最明顯的就是電腦上的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裏面跑過這些代碼,先睡覺了,明天繼續跑下驗證。