接口作用
作用
A、 使程序“可插拔”,易于扩展;
B、 接口是一套规范,程序员应该面向接口去调用,而不需要关心接口底层的具体实现
举例:餐厅菜单点餐
/*
-
菜单:是餐厅的规范
-
菜单必须有顾客
-
菜单必须有厨师
*/
public interface FoodMenu {void food1();
void food2();
void food3();
}
/*
-
厨师是菜单的实现者
*/
public class Cooker1 implements FoodMenu{public void food1() {
System.out.println(“Cooker1 food1”);
}
public void food2() {
System.out.println(“Cooker1 food2”);
}
public void food3() {
System.out.println(“Cooker1 food3”);
}
}
/*
-
厨师是菜单的实现者
*/
public class Cooker2 implements FoodMenu{public void food1() {
System.out.println(“Cooker2 food1”);
}
public void food2() {
System.out.println(“Cooker2 food2”);
}
public void food3() {
System.out.println(“Cooker2 food3”);
}
}
/* -
顾客是菜单的调用者
*/
public class Customer {private FoodMenu foodMenu;
public void setFoodMenu(FoodMenu foodMenu) {
this.foodMenu = foodMenu;
}public void order() {
foodMenu.food1();
foodMenu.food2();
foodMenu.food3();
}
}
public class MyTest {
public static void main(String[] args) {
//菜单
//FoodMenu foodMenu = new Cooker1();
FoodMenu foodMenu = new Cooker2();
//顾客
Customer zahngsan = new Customer();
//顾客得拿着菜单来点菜
zahngsan.setFoodMenu(foodMenu);
//点菜
zahngsan.order();
}
}
接口作用总结:
A、 面向抽象编程,面向接口编程,尽量使用多态机制
B、 可以提高程序的扩展力,降低程序的耦合度
C、 让程序变得具有很强的可接插特性