目录
面向接口编程的实际应用
面向接口编程是一种常用的编程方式,可以有效地提高代码的复用性,增强程序的扩展性和维护性。
-
场景
某工厂生产产品 A,产品 A 主要是由设备 A 来完成生产,用程序模拟生产过程。
产品 B 是由设备 B 来生产的。
当需求发生改变时,就要频繁修改类的内部结构的方式是需要避免的,因为这种结构的程序扩展性很差,如何改进?
使用面向接口编程即可。
1、创建接口 Equiment。
public interface Equiment {
public void work();
}
2、创建 Equiment 的实现类。
public class EquipmentA implements Equiment {
public void work() {
System.out.println("设备A运行,生产产品A");
}
}
public class EquipmentB implements Equiment {
public void work() {
System.out.println("设备B运行,生产产品B");
}
}
public class EquipmentC implements Equiment {
public void work() {
// TODO Auto-generated method stub
System.out.println("设备C运行,生产产品C");
}
}
3、创建 Factory 类。
public class Factory {
private Equiment equipment;
public Equiment getEquipment() {
return equipment;
}
public void setEquipment(Equiment equipment) {
this.equipment = equipment;
}
public void work() {
System.out.println("开始生产...");
this.equipment.work();
}
}
4、Test
public class Test {
public static void main(String[] args) {
//初始化工厂
Factory factory = new Factory();
// EquipmentB equipmentB = new EquipmentB();
// factory.setEquipment(equipmentB);
// EquipmentA equipmentA = new EquipmentA();
// factory.setEquipment(equipmentA);
EquipmentC equipmentC = new EquipmentC();
factory.setEquipment(equipmentC);
//开始工作
factory.work();
}
}