青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

統計

  • 隨筆 - 50
  • 文章 - 42
  • 評論 - 147
  • 引用 - 0

留言簿(6)

隨筆分類

文章分類

Link

搜索

  •  

積分與排名

  • 積分 - 167557
  • 排名 - 159

最新評論

閱讀排行榜

評論排行榜

perl中bless的理解
  • bless有兩個參數:對象的引用、類的名稱。
  • 類的名稱是一個字符串,代表了類的類型信息,這是理解bless的關鍵。
  • 所謂bless就是把 類型信息 賦予 實例變量。
    程序包括5個文件:
    person.pm :實現了person類
    dog.pm :實現了dog類
    bless.pl : 正確的使用bless
    bless.wrong.pl : 錯誤的使用bless
    bless.cc : 使用C++語言實現了與bless.pl相同功能的代碼


    person.pm
    CODE:
    #!/usr/bin/perl -w
    package person;
    use strict;

    sub sleep() {
           my ($self) = @_;
           my $name = $self->{"name"};

           print("$name is person, he is sleeping\n");
    }

    sub study() {
           my ($self) = @_;
           my $name = $self->{"name"};

           print("$name is person, he is studying\n");
    }
    return 1;


    dog.pm
    CODE:
    #!/usr/bin/perl -w
    package dog;
    use strict;

    sub sleep() {
           my ($self) = @_;
           my $name = $self->{"name"};

           print("$name is dog, he is sleeping\n");
    }

    sub bark() {
           my ($self) = @_;
           my $name = $self->{"name"};

           print("$name is dog, he is barking\n");
    }

    return 1;


    bless.pl
    CODE:
    #!/usr/bin/perl =w
    use strict;
    use person;
    use dog;

    sub main()
    {
           my $object = {"name" => "tom"};

           # 先把"tom"變為人
           bless($object, "person");
           $object->sleep();
           $object->study();

           # 再把"tom"變為狗
           bless($object, "dog");
           $object->sleep();
           $object->bark();

           # 最后,再把"tom"變回人
           bless($object, "person");
           $object->sleep();
           $object->study();
    }

    &main();

    # 程序運行時輸出:
    # tom is person, he is sleeping
    # tom is person, he is studying
    # tom is dog, he is sleeping
    # tom is dog, he is barking
    # tom is person, he is sleeping
    # tom is person, he is studying


    bless.wrong.pl
    CODE:
    #!/usr/bin/perl =w
    use strict;
    use person;
    use dog;

    sub main()
    {
           my $object = {"name" => "tom"};

           # 沒有把類型信息和$object綁定,因此無法獲知$object有sleep方法
           $object->sleep();
           $object->study();
    }

    &main();

    # 程序運行輸出為:
    # Can't call method "sleep" on unblessed reference at bless.wrong.pl line 10.


    使用c++實現bless的功能

    c中的代碼
    CODE:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    struct object {
           char name[16];
    };

    struct person {
           char name[16];

           void sleep() { printf("%s is person, he is sleeping\n", this->name); }
           void study() { printf("%s is person, he is studying\n", this->name); }
    };

    struct dog {
           char name[16];

           void sleep() { printf("%s is dog, he is sleeping\n", this->name); }
           void bark() { printf("%s is dog, he is barking\n", this->name); }
    };

    #define bless(object, type) ((type*) object)

    int main()
    {
           struct object * o = (struct object *) malloc(sizeof(struct object));
           strcpy(o->name, "tom");

           // 先把"tom"變為人
           bless(o, person)->sleep();
           bless(o, person)->study();

           // 再把"tom"變為狗
           bless(o, dog)->sleep();
           bless(o, dog)->bark();

           // 最后,再把"tom"變回人
           bless(o, person)->sleep();
           bless(o, person)->study();
           return 0;
    }

    // 程序運行時輸出:
    // tom is person, he is sleeping
    // tom is person, he is studying
    // tom is dog, he is sleeping
    // tom is dog, he is barking
    // tom is person, he is sleeping
    // tom is person, he is studying
  • posted on 2009-03-04 18:12 pear_li 閱讀(1882) 評論(2)  編輯 收藏 引用

    評論

    # re: perl中bless的理解[未登錄] 2010-01-06 23:55 T.S liu

    不錯,DING一下!!
      回復  更多評論    

    # re: perl中bless的理解 2011-08-17 00:09 gg

    兄弟理解得很清晰!贊一個!
      回復  更多評論    

    只有注冊用戶登錄后才能發表評論。
    網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区三区精品| 免费观看成人www动漫视频| 亚洲黄色免费| 欧美精品www在线观看| 亚洲美女在线视频| 亚洲久久一区| 国产精品久久九九| 久久久久久97三级| 美女主播一区| 亚洲综合三区| 欧美一区二区在线| 亚洲人在线视频| 一本久道综合久久精品| 国产精品久久久久国产精品日日| 国产精品国产三级国产a| 伊人久久噜噜噜躁狠狠躁| 免费黄网站欧美| 欧美乱妇高清无乱码| 亚洲欧美国产日韩天堂区| 欧美在线播放高清精品| 亚洲美女中出| 欧美亚洲综合网| 日韩视频―中文字幕| 羞羞答答国产精品www一本| 亚洲第一福利社区| 一区二区三区精密机械公司| 尤妮丝一区二区裸体视频| 一片黄亚洲嫩模| 在线观看欧美激情| 中文av字幕一区| 亚洲精品一级| 欧美在线关看| 亚洲一区影音先锋| 免费欧美在线| 久久婷婷av| 国产精品美女xx| 欧美国产一区二区| 国产日韩欧美a| 日韩午夜中文字幕| 亚洲福利视频网站| 性久久久久久久久| 亚洲免费网站| 欧美激情中文字幕一区二区| 久久综合中文字幕| 国产精品美女午夜av| 亚洲日本欧美| 亚洲日本国产| 久久久久久久性| 久久久精品日韩| 国产精品日产欧美久久久久| 亚洲精品国产系列| 一区二区在线看| 亚洲欧美日韩在线| 亚洲女同在线| 欧美三区美女| 亚洲免费成人av| 亚洲人成网站精品片在线观看| 欧美亚洲一级| 欧美专区日韩专区| 国产精品国产自产拍高清av| 亚洲精品综合久久中文字幕| 亚洲精品人人| 欧美人成在线视频| 亚洲毛片在线看| 99ri日韩精品视频| 欧美激情视频在线播放| 亚洲国产欧美另类丝袜| 亚洲精品久久久久久久久| 欧美韩日高清| 99国产麻豆精品| 亚洲午夜羞羞片| 国产精品福利av| 亚洲女性裸体视频| 久久蜜臀精品av| 亚洲电影观看| 欧美韩国日本综合| 日韩亚洲一区二区| 亚洲特级片在线| 国产欧美日韩在线观看| 欧美自拍偷拍| 欧美激情亚洲激情| 99精品福利视频| 国产精品大片| 欧美影院在线播放| 欧美va亚洲va国产综合| 亚洲精品久久久久中文字幕欢迎你| 欧美精品国产精品| 一本色道久久综合亚洲精品不卡 | 国产亚洲一区二区精品| 欧美亚洲网站| 亚洲第一黄色| 午夜精品久久久久久久99水蜜桃| 国产一区二区剧情av在线| 久久久久久久久久久成人| 亚洲高清网站| 欧美一级午夜免费电影| 一区二区三区在线不卡| 欧美老女人xx| 午夜亚洲性色视频| 亚洲日本在线观看| 欧美一区二区精品在线| 亚洲欧洲精品一区二区| 国产精品一区二区黑丝| 欧美黄色aaaa| 久久国产精品网站| 亚洲美女在线看| 久久亚洲欧美国产精品乐播| 一本色道久久综合精品竹菊| 国产一区二区精品丝袜| 欧美日韩精品三区| 久久综合九色综合欧美狠狠| 99精品视频免费观看视频| 欧美sm极限捆绑bd| 久久gogo国模啪啪人体图| 亚洲精品视频在线播放| 国产日韩欧美在线| 欧美日韩另类综合| 裸体素人女欧美日韩| 欧美亚洲一区在线| 亚洲作爱视频| 亚洲精品国产系列| 免费成人美女女| 欧美主播一区二区三区美女 久久精品人 | 亚洲高清在线观看| 久久精品国产亚洲aⅴ| 亚洲午夜精品视频| 日韩一级网站| 亚洲激情在线激情| 精品福利av| 黄色一区二区在线| 国产精品手机在线| 欧美日一区二区在线观看| 欧美高潮视频| 欧美大片专区| 欧美黄色免费网站| 能在线观看的日韩av| 另类av一区二区| 免费观看30秒视频久久| 久久精品成人| 久久久久久伊人| 久久久精品网| 狼狼综合久久久久综合网| 久久精品国产亚洲高清剧情介绍| 亚洲女女女同性video| 亚洲一区二区三区四区中文| 亚洲一区二区av电影| 宅男噜噜噜66一区二区| 亚洲小少妇裸体bbw| 亚洲影视在线播放| 亚洲在线视频一区| 欧美亚洲一区二区三区| 香蕉久久夜色精品国产| 欧美在线啊v| 久久久久看片| 欧美成人性生活| 欧美色综合网| 国产麻豆成人精品| 精品不卡在线| 亚洲激情电影在线| 裸体女人亚洲精品一区| 亚洲国产一区二区三区青草影视 | 欧美日韩国产在线| 欧美三日本三级少妇三99| 欧美视频二区36p| 欧美视频在线观看 亚洲欧| 国产精品久久国产三级国电话系列| 国产精品天天看| 在线不卡视频| 99精品福利视频| 亚洲一区免费视频| 久久久五月婷婷| 91久久午夜| 欧美二区在线观看| 一区二区三区国产精华| 亚洲色诱最新| 久久福利资源站| 欧美成年网站| 国产精品亚洲美女av网站| 伊人成年综合电影网| 亚洲精品国久久99热| 欧美亚洲综合久久| 欧美国产在线视频| 亚洲影视在线| 免费一区视频| 国产嫩草一区二区三区在线观看 | 在线成人小视频| 亚洲激情在线激情| 性欧美精品高清| 亚洲大片精品永久免费| 亚洲免费网址| 欧美日韩高清免费| 国内视频精品| 亚洲一区影院| 亚洲国产一区二区a毛片| 午夜国产不卡在线观看视频| 亚洲福利精品| 日韩一区二区免费看| 欧美一级专区| 欧美激情视频网站| 欧美一区久久|