(2) 工厂方法模式
海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。
public interface AirCondition{ void work(); } public interface AirConditionFactory{ AirCondition produceAirCondition(); } public class HaierAirCondition implements AirCondition{ public void work(){ System.out.println("HaierAirCondition is working! -_-!!!"); } } public class MideaAirCondition implements AirCondition{ public void work(){ System.out.println("MideaAirCondition is working -_-~~~"); } } public class HaierAirConditionFactory implements AirConditionFactory{ public HaierAirCondition produceAirCondition(){ System.out.println("HaierAirCondition produced! *^_^*"); return new HaierAirCondition(); } } public class MideaAirConditionFactory implements AirConditionFactory{ public MideaAirCondition produceAirCondition(){ System.out.println("MideaAirCondition produced! *^_^*"); return new MideaAirCondition(); } } public class AirConditionClient{ public static void main(String[] args){ AirCondition haierCondition, mideaCondition; AirConditionFactory haierConditionFactory = new HaierAirConditionFactory(); AirConditionFactory mideaConditionFactory = new MideaAirConditionFactory(); haierCondition = haierConditionFactory.produceAirCondition(); mideaCondition = mideaConditionFactory.produceAirCondition(); haierCondition.work(); System.out.println(); mideaCondition.work(); } }
运行结果: