1.声明接口
//电器接口 public interface electrical { //打开 void turnOn(); //关闭 void turnOff(); //使用 void use(); }
2.电视实现类
public class television implements electrical{ @Override public void turnOn() { System.out.println("电视打开了"); } @Override public void turnOff() { System.out.println("电视关机了"); } @Override public void use() { System.out.println("电视正在播放中"); } }
3.洗衣机实现类
public class washingMachine implements electrical{ @Override public void turnOn() { System.out.println("洗衣机打开了"); } @Override public void turnOff() { System.out.println("洗衣机关机了"); } @Override public void use() { System.out.println("洗衣机正在使用中"); } }
4.策略类,用于执行电器操作
public class electricalAppliances { private electrical appliances; public electricalAppliances(electrical appliances) { this.appliances = appliances; } public void use(){ appliances.turnOn(); appliances.turnOff(); appliances.use(); System.out.println("================="); } }
5.测试
public class electricalTest { public static void main(String[] args) { //电视策略 electricalAppliances television=new electricalAppliances(new television()); television.use(); //洗衣机策略 electricalAppliances washingMachine=new electricalAppliances(new washingMachine()); washingMachine.use(); } }
补充:
工厂模式:
public class factory { public static electrical cteateElectrical(String type){ if (type.equals("television")){ return new television(); }else if (type.equals("washingMachine")){ return new washingMachine(); }else { return null; } } }
测试:
public class factoryTest { public static void main(String[] args) { //创建一个洗衣机对象 electrical washingMachine = factory.cteateElectrical("washingMachine"); washingMachine.turnOn(); washingMachine.turnOff(); washingMachine.use(); System.out.println("==================="); //创建一个电视对象 electrical television = factory.cteateElectrical("television"); television.turnOn(); television.turnOff(); television.use(); } }