1,工厂方法:
使用一个工厂的方法来创建产品。
1 package WHP; 2 //产品依赖于抽象 3 public interface IRunable { 4 public void Run(); 5 }
1 package WHP; 2 //具体实现 3 public class Car implements IRunable { 4 public void Run(){ 5 System.out.println("Car running."); 6 } 7 }
1 package WHP; 2 3 public class Bus implements IRunable { 4 public void Run() { 5 System.out.println("Bus running."); 6 } 7 }
1 package WHP; 2 //生产产品的工厂 3 public class AutoFactory { 4 public IRunable CreateAuto(String auto) throws Exception { 5 if (auto == "Car") { 6 return new Car(); 7 } else if (auto == "Bus") { 8 return new Bus(); 9 } else { 10 11 throw new Exception("Incorrect auto type"); 12 } 13 } 14 }
package WHP; import java.util.*; import java.io.*; //使用模式的代码。 public class JTest { /** * @param args */ public static void main(String[] args) { try { AutoFactory fac=new AutoFactory(); IRunable a=fac.CreateAuto("Car"); IRunable b=fac.CreateAuto("Bus"); a.Run(); b.Run(); } catch(Exception ex) { System.out.println(ex.getMessage()); } } }