隨筆 - 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 月亮 閱讀(102) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 怀化市| 海伦市| 绍兴市| 许昌县| 虎林市| 克山县| 岳阳市| 新竹县| 定兴县| 黎川县| 宜黄县| 乐陵市| 岳阳市| 黄梅县| 长汀县| 大田县| 临泉县| 宜都市| 新密市| 邳州市| 屏东市| 勐海县| 郸城县| 瓦房店市| 图木舒克市| 微山县| 葵青区| 陆川县| 安泽县| 石渠县| 汽车| 云梦县| 西安市| 兴隆县| 长岛县| 石棉县| 满城县| 江源县| 灵璧县| 临海市| 南康市|