隨筆 - 40, 文章 - 0, 評論 - 20, 引用 - 0
          數據加載中……

          一個設計中使用比較多的模式

          如果是在需求還沒確定或者是在兩個類實現相近功能時候,會大量使用下面的方式:
          --抽象類,注意其中的newInstance方法的實現
          package com.moonsoft.design;
          public  abstract class Moon {
            public static Moon newInstance(String classStr){
              Class re;
              try {
                re =  Class.forName(classStr);
                return (Moon)re.newInstance();
              }
              catch (Exception ex) {
                ex.printStackTrace();
              }
              return null;
            }
            public abstract void  println();
          }
          --從Moon類派生出來的一個字類,提供println方法的一種實現方式
          package com.moonsoft.design;
          public class Moon1 extends Moon {
            public void println(){
              System.out.println("I am moon1");
            }
            public void myprintln(){
              System.out.println("I am moon1 myprintln");
            }
          }
          --從Moon類派生出來的另一個字類,提供println方法的另一種實現方式
          package com.moonsoft.design;
          public class Moon2 extends Moon {
             public void println(){
              System.out.println("I am moon2!");
            }
          }
          --調用
           Moon moon = Moon.newInstance("com.moonsoft.design.Moon1");
           moon.println();
           或
           Moon moon = Moon.newInstance("com.moonsoft.design.Moon2");
           moon.println();

          posted on 2006-01-04 16:41 月亮 閱讀(101) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 重庆市| 洞口县| 凤山县| 镇原县| 株洲县| 越西县| 西吉县| 华坪县| 东莞市| 恩施市| 宜春市| 阳原县| 陵川县| 中江县| 泸西县| 蒙城县| 行唐县| 上饶市| 青神县| 安康市| 光泽县| 神农架林区| 平泉县| 沾化县| 同仁县| 英吉沙县| 多伦县| 信阳市| 中方县| 雅江县| 岳池县| 中山市| 湘潭市| 江西省| 饶阳县| 会东县| 滁州市| 陈巴尔虎旗| 石台县| 江城| 莱阳市|