隨筆 - 40, 文章 - 0, 評(píng)論 - 20, 引用 - 0
          數(shù)據(jù)加載中……

          一個(gè)設(shè)計(jì)中使用比較多的模式

          如果是在需求還沒確定或者是在兩個(gè)類實(shí)現(xiàn)相近功能時(shí)候,會(huì)大量使用下面的方式:
          --抽象類,注意其中的newInstance方法的實(shí)現(xiàn)
          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類派生出來的一個(gè)字類,提供println方法的一種實(shí)現(xiàn)方式
          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類派生出來的另一個(gè)字類,提供println方法的另一種實(shí)現(xiàn)方式
          package com.moonsoft.design;
          public class Moon2 extends Moon {
             public void println(){
              System.out.println("I am moon2!");
            }
          }
          --調(diào)用
           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) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 丹江口市| 车险| 岳普湖县| 右玉县| 宜兰市| 东平县| 纳雍县| 抚顺市| 旺苍县| 南漳县| 金堂县| 邹城市| 芜湖县| 林芝县| 高密市| 容城县| 石城县| 延安市| 西丰县| 广宁县| 中宁县| 黄石市| 麻江县| 五原县| 新丰县| 金平| 台前县| 凤庆县| 吐鲁番市| 哈密市| 彰武县| 苗栗县| 凤冈县| 黑水县| 平度市| 公主岭市| 朝阳市| 隆林| 大邑县| 舞阳县| 佛教|