隨筆 - 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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 烟台市| 文化| 雅安市| 青川县| 资兴市| 浦县| 本溪| 长治市| 湖南省| 文山县| 深州市| 吉水县| 兖州市| 沾益县| 伊宁县| 涿州市| 卓资县| 鱼台县| 长兴县| 青龙| 皋兰县| 乐山市| 唐河县| 泗洪县| 台北县| 峨眉山市| 抚顺市| 高尔夫| 钟山县| 华亭县| 文昌市| 钟山县| 七台河市| 旬阳县| 盐边县| 三原县| 汽车| 琼中| 深州市| 万年县| 怀集县|