<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE社區(qū)

    茍有恒,何必三更起五更眠;
    最無益,只怕一日曝十日寒.
    posts - 241, comments - 318, trackbacks - 0, articles - 16

    問大家一個多態(tài)的問題??

    Posted on 2010-01-05 20:32 xcp 閱讀(1566) 評論(5)  編輯  收藏 所屬分類: JAVA
        最近做項目的時候遇到一個問題:

        例:public static AAA parse(String dest,String ... formatRegulars) throws NullPointerException,Exception {}
        
        要求:1、我要實現(xiàn)formatRegulars參數(shù)是固定的從一個配置文件,枚舉,或者任何地方來固定數(shù)據(jù)源, 也就是formatRegulars來源固定。
                    2、當(dāng)我們在數(shù)據(jù)源(配置文件,枚舉等)里面又新增一個數(shù)據(jù)時,不用修改parse方法里面的代碼?
        
        這肯定要用到多態(tài)!
        求高手指點:public static AAA parse(String dest,?) throws NullPointerException,Exception {} 

        小弟在線等,謝謝!


    名稱: ?4C.ESL | .↗Evon
    口號: 遇到新問題?先要尋找一個方案乄而不是創(chuàng)造一個方案こ
    mail: 聯(lián)系我


    Feedback

    # re: 問大家一個多態(tài)的問題??  回復(fù)  更多評論   

    2010-01-05 22:06 by xu
    定義如下:public static AAA parse(String dest,Object object) throws NullPointerException,Exception {}


    再定義幾個工廠類,處理此方法時可以為:
    public class XXXParseProperties {
    public static AAA parse(String dest,Object object) throws NullPointerException,Exception {
    if(object instanceof xxx) {
    //TODO
    }
    }
    }

    其他情況依據(jù)上面的類照著貓畫老虎應(yīng)該就可以了。

    # re: 問大家一個多態(tài)的問題??  回復(fù)  更多評論   

    2010-01-06 01:24 by xcp
    @xu
    謝了!

    # re: 問大家一個多態(tài)的問題??  回復(fù)  更多評論   

    2010-01-06 01:29 by xcp
    @xu
    我想到一種好方法
    第一、
    public enum FormatRegulars2{
    aaa("newstep"),
    bbbb("xcp"),
    ccc(new Date(System.currentTimeMillis()).toString());

    private String DateFormatRegularsStr;
    public String getDateFormatRegularsStr() {
    return DateFormatRegularsStr;
    }

    FormatRegulars2(String DateFormatRegularsStr){
    this.DateFormatRegularsStr = DateFormatRegularsStr;
    }
    }

    第二、
    public static AAA parse(String dateStr,FormatRegulars2 fr) throws NullPointerException, Exception

    第三、方法內(nèi)部調(diào)用的時候
    fr.getDateFormatRegularsStr();得到想要的動態(tài)值

    第四、使用的時候
    DateUtils2.parse("c:\a.txt",FormatRegulars2.aaa);

    # re: 問大家一個多態(tài)的問題??  回復(fù)  更多評論   

    2010-01-06 10:49 by Lancelot
    太搞笑了,你直接注入想要的formatRegulars不就得了。

    而且你那個程序也有問題,你應(yīng)該直接面向接口編程,聲明一個Parser接口,再去實現(xiàn)相應(yīng)的DateParserImpl、RegularParserImpl……

    而不是寫這么一堆東西,你這個根本就不是多態(tài)。

    # re: 問大家一個多態(tài)的問題??  回復(fù)  更多評論   

    2010-01-06 11:25 by xcp
    @Lancelot
    你直接注入想要的formatRegulars不就得了。
    最開始我沒想到這,這樣幫肯定是最好的!

    直接面向接口編程,聲明一個Parser接口,再去實現(xiàn)相應(yīng)的DateParserImpl、RegularParserImpl……
    也和上面差不多!

    寫這么一堆東西,你這個根本就不是多態(tài)
    因為最后一想肯定沒必要這樣鋪張浪費,用工廠,IOC,什么多態(tài)特性啊,直接用的枚舉來完成,我個人覺得在這個特定的需求里面挺有用得!!

    謝謝!
    主站蜘蛛池模板: 亚洲乱码国产乱码精品精| 免费看片免费播放| 国精无码欧精品亚洲一区| 免费大片av手机看片高清| 国产高清在线免费| 亚洲av永久无码| 国产国产人免费视频成69大陆| 亚洲成av人片天堂网无码】| 成熟女人牲交片免费观看视频| 亚洲国产视频久久| 无码国产精品一区二区免费| 亚洲日本久久久午夜精品| 大陆一级毛片免费视频观看i| 亚洲精品无码久久久久A片苍井空| 日韩成人在线免费视频| 国产成人亚洲精品91专区高清| 亚洲精品高清在线| 你是我的城池营垒免费看| 亚洲Av熟妇高潮30p| 99无码人妻一区二区三区免费| 亚洲私人无码综合久久网| 免费va人成视频网站全| 中国videos性高清免费| 亚洲综合激情六月婷婷在线观看| 在线看片无码永久免费视频| 色噜噜的亚洲男人的天堂| 免费看无码自慰一区二区| 一级黄色免费毛片| 91亚洲国产成人精品下载| 黄网址在线永久免费观看 | 男人天堂免费视频| 婷婷精品国产亚洲AV麻豆不片| 在线观看免费高清视频| 国产午夜亚洲精品不卡电影| 亚洲gv白嫩小受在线观看| 99精品全国免费观看视频| 深夜久久AAAAA级毛片免费看| 亚洲国产精品婷婷久久| 免费国产在线观看| 久久精品一本到99热免费| 久久亚洲AV成人无码国产电影|