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

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

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

    love fish大鵬一曰同風(fēng)起,扶搖直上九萬里

    常用鏈接

    統(tǒng)計

    積分與排名

    friends

    link

    最新評論

    靜態(tài)分派,動態(tài)分派,多分派,單分派 -------------- visitor模式準(zhǔn)備(轉(zhuǎn))

    一,靜態(tài)分派:
    1,定義:發(fā)生在編譯時期,分派根據(jù)靜態(tài)類型信息發(fā)生,重載就是靜態(tài)分派
    2,什么是靜態(tài)類型:變量被聲明時的類型是靜態(tài)類型
    ??????什么是動態(tài)類型:變量所引用的對象的真實類型
    3,有兩個類,BlackCat ,WhiteCat都繼承自Cat
    如下調(diào)用
    class?Cat{}
    class?WhiteCat?extends?Cat{}
    class?BlackCat?extends?Cat{}
    public?class?Person?{
    ????
    public?void?feed(Cat?cat){
    ????????System.out.println(
    "feed?cat");
    ????}

    ????
    public?void?feed(WhiteCat?cat){
    ????????System.out.println(
    "feed?WhiteCat");
    ????}

    ????
    public?void?feed(BlackCat?cat){
    ????????System.out.println(
    "feed?BlackCat");
    ????}

    ????
    public?static?void?main(String[]?args)?{
    ????????Cat?wc?
    =?new?WhiteCat();
    ????????Cat?bc?
    =?new?BlackCat();
    ????????Person?p?
    =?new?Person();
    ????????p.feed(wc);
    ????????p.feed(bc);
    ????}


    }

    運行結(jié)果是:
    feed cat
    feed cat
    這樣的結(jié)果是因為重載是靜態(tài)分派,在編譯器執(zhí)行的,取決于變量的聲明類型,因為wc ,bc都是Cat所以調(diào)用的都是feed(Cat cat)的函數(shù).
    二,動態(tài)分派
    1,定義:發(fā)生在運行期,動態(tài)分派,動態(tài)的置換掉某個方法。
    還是上邊類似的例子:
    class?Cat{
    ????
    public?void?eat(){
    ????????System.out.println(
    "cat?eat");
    ????}

    }

    public?class?BlackCat?extends?Cat{
    ????
    public?void?eat(){
    ????????System.out.println(
    "black?cat?eat");
    ????}

    ????
    public?static?void?main(String[]?args){
    ????????Cat?cat?
    =?new?BlackCat();
    ????????cat.eat();
    ????}

    }
    這個時候的結(jié)果是:
    black cat eat
    這樣的結(jié)果是因為在執(zhí)行期發(fā)生了向下轉(zhuǎn)型,就是動態(tài)分派了。

    三,單分派:
    1,定義:根據(jù)一個宗量的類型進行方法的選擇
    四,多分派:
    1,定義:根據(jù)多于一個宗量的類型對方法的選擇
    2,說明:多分派其實是一系列的單分派組成的,區(qū)別的地方就是這些但分派不能分割。
    3,C++ ,Java都是動態(tài)單分派,靜態(tài)多分派語言
    多分派的語言有:CLOS? Cecil

    最后的部分:

    看完本文,如果你對visitor模式有更多的興趣,想了解更多請看如下幾篇文章。
    1,靜態(tài)分派,動態(tài)分派,多分派,單分派 --------------?? visitor模式準(zhǔn)備(本文)
    2,訪問差異類型的集合類 ------------------------?? visitor模式入門
    3,visitor模式理論及學(xué)術(shù)概念-------------------?? visitor模式進一步
    4,重載overloading和覆寫overriding哪個更早執(zhí)行--?? visitor幫助篇
    雖然排列順序是1,2,3,4但是我個人建議的學(xué)習(xí)方式是2,1,3,4因為這個順序更方便一般人理解


    #?re: 靜態(tài)分派,動態(tài)分派,多分派,單分派 -------------- visitor模式準(zhǔn)備 2006-12-20 13:59 mu!!

    單分派:定義:根據(jù)一個宗量的類型進行方法的選擇
    多分派:定義:根據(jù)多于一個宗量的類型對方法的選擇

    宗量???

    對應(yīng)的英文翻譯是什么???回復(fù)??更多評論??

    #?re: 靜態(tài)分派,動態(tài)分派,多分派,單分派 -------------- visitor模式準(zhǔn)備 2006-12-20 15:16 dreamstone

    宗量大概的意思是方法的參數(shù)或方法的調(diào)用者
    具體的英文確切翻譯不太清楚,下班后找找看
    這一詞的來源是<<Java與模式>>一書,有些其它的講模式的書也使用過。??回復(fù)??更多評論??

    #?re: 靜態(tài)分派,動態(tài)分派,多分派,單分派 -------------- visitor模式準(zhǔn)備[未登錄] 2007-01-17 17:38 h

    樓主,要把概念分清楚,否則會誤導(dǎo)很人,本來是做好事成了誤人子第;
    多分派與多重分派是不一樣的概念,多分派是根據(jù)多與一個宗量的類型對方法進行選擇,而多重分派是一系列單分派組成的分派過程,可以分解成多個單分派的,而多分派是不能分解成多個單分派的.??回復(fù)??更多評論??

    #?re: 靜態(tài)分派,動態(tài)分派,多分派,單分派 -------------- visitor模式準(zhǔn)備[未登錄]2007-01-19 09:51 dreamstone

    1,根據(jù)多于一個宗量的類型對方法的選擇
    說明:多分派其實是一系列的單分派組成的,區(qū)別的地方就是這些單分派不能分割。

    2,多分派與多重分派是不一樣的概念,多分派是根據(jù)多與一個宗量的類型對方法進行選擇,而多重分派是一系列單分派組成的分派過程,可以分解成多個單分派的,而多分派是不能分解成多個單分派的

    1是我寫的,2是你寫的,沒看到有什么區(qū)別,
    都是根據(jù)多于一個宗量的類型對方法的選擇
    都是多分派是不能分解成多個單分派的

    你強調(diào)多重分派的概念,在我看來那是多次單分派,所以我并沒有提出多重分派的概念。

    謝謝你的熱心糾正錯誤,不過麻煩把錯誤明確對比出來。

    ??回復(fù)??更多評論??

    posted on 2007-02-26 09:38 liaojiyong 閱讀(394) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 国产亚洲成人在线播放va| 久久精品中文字幕免费| 女人与禽交视频免费看| 亚洲成a人片在线看| 青青青国产在线观看免费网站| 久久久久亚洲av无码专区导航| a级毛片免费高清毛片视频| 亚洲无av在线中文字幕| A片在线免费观看| 亚洲AV无码不卡无码| 免费人妻无码不卡中文字幕系| 亚洲精品在线观看视频| 2019中文字幕在线电影免费| 亚洲成av人片不卡无码| 中国在线观看免费高清完整版| 亚洲综合激情五月丁香六月 | 青青操在线免费观看| 亚洲色无码专区在线观看| 精品国产免费一区二区三区香蕉| 亚洲av无码专区在线播放| 美女内射毛片在线看免费人动物| 亚洲一级黄色大片| 国产美女做a免费视频软件| 深夜福利在线视频免费| 亚洲Av无码精品色午夜| 免费大片黄在线观看yw| 亚洲AV噜噜一区二区三区| 久久久久一级精品亚洲国产成人综合AV区 | 曰批免费视频播放免费| 国产亚洲色婷婷久久99精品| 1024免费福利永久观看网站| 亚洲第一综合天堂另类专| 久久久久亚洲AV成人网| 99精品视频在线免费观看| 亚洲日本VA午夜在线电影| 国产精品亚洲精品日韩已方| h视频在线免费看| 美女一级毛片免费观看| 亚洲国产日韩一区高清在线 | 亚洲乱码无码永久不卡在线| 青青在线久青草免费观看|