隨筆-28  評論-15  文章-81  trackbacks-0
           

          package com.tanm.factoryDemo;

          interface Car {

              public void start();

              public void stop();

          }

          class Benz implements Car {

              public void start() {

                 System.out.println("Benz開動了。。。。");

              }

              public void stop() {

                 System.out.println("Benz停車了。。。");

              }

          }

          class Ford implements Car {

              public void start() {

                 System.out.println("Ford開動了。。。。");

              }

              public void stop() {

                 System.out.println("Ford停車了。。。");

              }

          }

          class BigBus implements Car {

              public void start() {

                 System.out.println("大巴開車了。。。。");

              }

              public void stop() {

                 System.out.println("大巴停車了。。。。");

              }

          }

          class MiniBus implements Car {

              public void start() {

                 System.out.println("小巴開車了。。。。");

              }

              public void stop() {

                 System.out.println("小巴停車了。。。。");

              }

          }

          //抽象工廠

          interface AbstractFactory {

          }

          //具體小汽車工廠

          class CarFactory implements AbstractFactory {

              public Car getCar(String type) {

                 Car c = null;

                 try {

                     c = (Car) Class.forName("org.jzkangta.factorydemo02." + type)

                            .newInstance();

                 } catch (InstantiationException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                 } catch (IllegalAccessException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                 } catch (ClassNotFoundException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                 }

                 return c;

              }

          }

          //具體公共汽車工廠

          class BusFactory implements AbstractFactory {

              public Car getBus(String type) {

                 Car c = null;

                 try {

                     c = (Car) Class.forName("org.jzkangta.factorydemo02." + type)

                            .newInstance();

                 } catch (InstantiationException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                 } catch (IllegalAccessException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                 } catch (ClassNotFoundException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                 }

                 return c;

              }

          }

          public class FactoryDemo {

              public static void main(String[] args) {

                 // CarFactory cf=new CarFactory();

                 BusFactory bf = new BusFactory();

                 Car c = null;

                 // c=cf.getCar("Benz");

                 c = bf.getBus("BigBus");

                 c.start();

                 c.stop();

              }

          }

          posted on 2007-10-16 18:09 譚明 閱讀(243) 評論(0)  編輯  收藏 所屬分類: Java設計模式

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 花垣县| 郁南县| 台南市| 茶陵县| 西昌市| 兰考县| 大同市| 丽江市| 化隆| 衡山县| 阿拉善盟| 庆云县| 巴东县| 桂林市| 仙游县| 昆山市| 区。| 延安市| 瑞丽市| 始兴县| 新化县| 秦皇岛市| 青海省| 靖远县| 克东县| 轮台县| 海城市| 新竹县| 太谷县| 舒城县| 洪雅县| 荔波县| 饶河县| 漠河县| 广水市| 垦利县| 临泉县| 上犹县| 淮安市| 天门市| 盘锦市|