b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

工厂方法模式_工厂方法模式 java_工厂方法模式的好处(2)

电脑杂谈  发布时间:2017-01-18 23:59:51  来源:网络整理

为了以后扩展其他流水线,比如,设计一种柔软的方案来实现自动车生产的过程。 农场里原有个全能的园丁,控制所有作物的种植、生长和收获。现在农场规模变大了,需要更加地管理。过去全能的园丁没有了,每一种作物都有专门的园丁管理,形成了规模化和化生产。设计一种方案 为了实现这个需求,我们定义了: CarFactory:定义自动车生产的接口规范。 BusFactory:生产Bus。 TruckFactory:生产Truck。 Car:自动车父类,定义了自动车一些公共的属性与行为。 CarBus:公交车,自动车的一种。 CarTruck:卡车,自动车的一种。 下面我们用Factory Method来实现以上模型。 Factory Method模式的实现范例 工厂类定义: 自动车工厂类CarFactory.java view plainprint 1. abstract class CarFactory 2. //定义生产自动车生产的接口规范 3. public Car createCar ; 4. abstract class CarFactory //定义生产自动车生产的接口规范 public Car createCar ; 生产公交车的工厂类BusFactory.java view plainprint 1. class BusFactory extends CarFactory 2. public Car createCar 3. //生产公交车 4. return new CarBus ; 5. 6. class BusFactory extends CarFactory public Car createCar //生产公交车 return new CarBus ; 生产卡车的工厂类TruckFactory.java view plainprint 1. class TruckFactory extends CarFactory 2. public Car createCar 3. //生产卡车 4. return new TruckBus ; 5. 6. class TruckFactory extends CarFactory public Car createCar //生产卡车 return new TruckBus ; 产品类定义: 自动车父类Car.java 为了简单起见,只定义了一个方法返回自动车的种类。

view plainprint 1. public class Car 2. public String getType 3. return "Car"; 4. 5. public class Car public String getType return "Car"; 公交车类CarBus.java view plainprint 1. public class CarBus extends Car 2. public String getType 3. return "Bus"; 4. 5. public class CarBus extends Car public String getType return "Bus"; 卡车类CarTruck.java view plainprint 1. public class CarTruck extends Car 2. public String getType 3. return "Truck"; 4. 5. public class CarTruck extends Car public String getType return "Truck"; Client调用:通过工厂类生产不同的自动车 Client.java view plainprint 1. public class Client 2. public static void main String[] args 3. CarFactory factory new BusFactory ; 4. //生产公交车 5. Car bus factory.createCar ; 6. System.out.println "生产了:" + bus.getType ; 7. 8. factory new TruckFactory ; 9. //生产卡车 10. Car truck factory.createCar ; 11. System.out.println "生产了:" + truck.getType ; 12. 13. * 单例模式的核心要求就是在内存中只有一个对象, //单例类 02public class Singleton 03????// 不允许通过new产生一个对象 04????private Singleton 05? 06 07? 08????public void doSomething 09 // 业务处理 10 11 12? 13? 14? 15import java.lang.reflect.Constructor; 16? 17//负责生成单例的工厂类 18public class SingletonFactory 19????private static Singleton singleton; 20? 21????static 22 try 23 Class c1 Class.forName Singleton.class.getName ; 24 // 获得无参构造 25 Constructor constructor c1.getDeclaredConstructor ; 26 // 设置无参构造是可访问的 27 constructor.setAccessible true ; 28 // 产生一个实例对象。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27237-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 关晴
      关晴

      #全员即刻加速1128迈#你很棒喜欢你自信的微笑你是独一无二的易烊千玺#易烊千玺出演诛仙#

    • 廖世美
      廖世美

      接着就部署多款式无人机

    热点图片
    拼命载入中...