课时88:使用接口定义标准
摘要:
1. 接口与标准的关系
2. 接口在程序中的作用
3. 标准的概念
01. 接口与标准的关系
对于接口而言在开发之中最为重要的应用就是进行标准的制定,实际上在日常的生活之中也会听见许多关于接口的名词,如:USB接口、PCI接口、鼠标接口等等,那么这些实际上都是属于标准的应用。
以USB的程序为例,电脑上可以插入各种USB的设备,所以电脑上认的只是USB标准,而不关心这个标准的具体实现类。也就是说,不管接口后面连接的是U盘、键盘还是打印机,只要符合USB标准,电脑都能接纳它。
USB对应的设备有很多,像常见的U盘、键盘、打印机外,还有无数其他符合USB标准的设备。但对于电脑来说,它并不关心这些设备具体是什么,它只关注一点:这些设备有没有实现USB接口的标准。只要实现了,哪怕有几千几万个设备,电脑都能正常支持接入。
02. 接口在程序中的作用
在实际开发中,我们要先定义标准,而不是先应用标准再生产设备。
代码实现:
interface IUSB { // 定义USB标准 public boolean check(); // 检查通过可以工作 public void work(); } class Computer { public void plugin(IUSB usb) { if (usb.check()) { usb.work(); // 开始工作 } } } class Keyboard implements IUSB { public boolean check() { return true; } public void work() { System.out.println("开始进行码字任务。"); } } class Print implements IUSB { public boolean check() { return false; } public void work() { System.out.println("开始进行照片打印。"); } } public class JavaDemo { public static void main(String args[]) { Computer computer = new Computer(); computer.plugin(new Keyboard()); // 插入键盘 computer.plugin(new Print()); //插入打印机 } }
代码运行,返回:
interface IUSB { // 定义USB标准 public boolean check(); // 检查通过可以工作 public void work(); } class Computer { public void plugin(IUSB usb) { if (usb.check()) { usb.work(); // 开始工作 } else { System.out.println(“ 硬件设备安装出现了问题,无法使用!”) } } } class Keyboard implements IUSB { public boolean check() { return true; } public void work() { System.out.println("开始进行码字任务。"); } } class Print implements IUSB { public boolean check() { return false; } public void work() { System.out.println("开始进行照片打印。"); } } public class JavaDemo { public static void main(String args[]) { Computer computer = new Computer(); computer.plugin(new Keyboard()); // 插入键盘 computer.plugin(new Print()); //插入打印机 } }
代码运行,返回:
03. 标准的概念
在现实的开发之中,对于标准的概念无处不在。就以吃东西为例:我们对于能吃的东西有一个潜在标准。当有人给你辣条、橘子,很多人可能会欣然接受,因为它们符合我们对可食用食物的标准。
但是如果给你一只死青蛙,相信大家可能都会拒绝,因为这不符合我们吃食物的标准。再比如小龙虾,对于很多人来说,它是美味佳肴,符合食用标准。
又比如高速路上,规定不允许非机动车以及设计时速低于70迈的车行驶。我们正常人步行时速大概只有五迈左右,所以肯定不能在高速路上行走,这就是交通规则中的标准限制。
在开发中,标准同样起着关键作用。不同类型之间的交互靠的是接口的标准。就像人是一种类型,零食是一种类型,在判断是否符合能“使用”(这里可以理解为是否能吃)时,不单纯看它们的类型,而是看是否符合标准。只要符合标准,就能正常使用,这就是标准的概念。