• <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>
            隨筆 - 6  文章 - 8  trackbacks - 0
            <2007年3月>
            25262728123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(1)

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            C++中,經(jīng)常用到對(duì)象(Object)、類(Class)和實(shí)例(Instance)等概念,一直對(duì)這幾個(gè)概念有些混淆,今天算是整理一下自己的思路,談?wù)勛约簩?duì)這幾個(gè)概念的看法吧;希望不當(dāng)之處大家能夠指出,也歡迎大家看看自己的看法。

            從其定義來看,對(duì)象是指一個(gè)能完成特定操作,具有特定屬性的實(shí)體(Component);類是具有相同屬性對(duì)象的集合(Group of Objects)。實(shí)例則往往被理解為一個(gè)對(duì)象的具體化。

            對(duì)象更多的是一個(gè)概念,在象SmallTalk這類純粹的OO語言中,所有東西都是對(duì)象(MetaClass, Class, Instances);而類在不過是一個(gè)特殊的、能作為模板創(chuàng)建實(shí)例的對(duì)象。(一直想弄個(gè)SmallTalk來玩玩,但終究沒有時(shí)間和精力去學(xué)習(xí)。)

            C++中,“對(duì)象”概念往往被模糊化,它不是一個(gè)能包括一切的概念,而在某些環(huán)境下成為能和類與實(shí)例相互替換的概念。

            原因之一,或許是在C++對(duì)類的定義。C++把類定義為一個(gè)抽象數(shù)據(jù)類型(ADT)。而ADT只是一個(gè)實(shí)現(xiàn)上的概念,它在運(yùn)行時(shí)并不存在一個(gè)對(duì)象所應(yīng)該具有的特征(屬性和行為)。雖然C++中引入了運(yùn)行時(shí)類型信息(RTTI,參看type_info類),但仍然很難把類當(dāng)成一個(gè)對(duì)象。從這個(gè)角度來說,在實(shí)現(xiàn)時(shí)類可以看作是對(duì)象概念的代名詞。

            原因之二,個(gè)人覺得應(yīng)該是和使用這些概念的上下文有關(guān)。在使用C++時(shí)(包括設(shè)計(jì)模式),往往需要考慮兩個(gè)層次的抽象:
            1. 編碼(實(shí)現(xiàn))時(shí)的抽象
            2. 運(yùn)行時(shí)的抽象

            在實(shí)現(xiàn)時(shí),C++中,無疑類的概念和對(duì)象的概念是一致的,而實(shí)例則可以理解為一個(gè)類的實(shí)例化或一個(gè)對(duì)象的具體化;對(duì)應(yīng)與Design Pattern,那些結(jié)構(gòu)化的模式(Structural Patterns)更適合與這一層次的抽象。

            在運(yùn)行時(shí),個(gè)人覺得對(duì)象更多的是和實(shí)例等同的。我們說某個(gè)對(duì)象和另外一個(gè)對(duì)象交互更多的是在表達(dá)某個(gè)類的一個(gè)實(shí)例和另一個(gè)類的一個(gè)實(shí)例進(jìn)行交互,這個(gè)時(shí)候,對(duì)象不再是一個(gè)概念,而是被具體化了。而設(shè)計(jì)模式中的行為模式(Behavioral Patterns)則更適合與這個(gè)層次的抽象。

            以上是我對(duì)這幾個(gè)基本概念的理解,請(qǐng)大家批評(píng)指教!
            //bow

            posted on 2007-03-22 10:34 Neal 閱讀(6093) 評(píng)論(5)  編輯 收藏 引用

            FeedBack:
            # re: 我看C++中的Object, Class & Instance 2007-03-22 14:44 Corner Zhang
            對(duì)象(Object)-- 平時(shí)口頭上經(jīng)常提到“基于對(duì)象的編程”,“面向?qū)ο蟮木幊獭保彩且[藏部分信息的那個(gè)概念,就是通常意義上的對(duì)象。

            類(Class)-- 在C++中,這是指一些類型,它們有別于float, int, long...,從compiler的角度看,它是一族對(duì)象的母板,并且存在編譯期

            實(shí)例(Instance)-- 是個(gè)運(yùn)行時(shí)的概念,擁有自身狀態(tài),具有生存期/擁有權(quán)性質(zhì)的,寄身于memory的二進(jìn)制表示。就因?yàn)檫@個(gè)原因,成為hacker整日追蹤的目標(biāo)。  回復(fù)  更多評(píng)論
              
            # re: 我看C++中的Object, Class & Instance 2007-03-23 08:31 LOGOLS OFF
            感覺你說的有點(diǎn)太school了
            類就是類型,對(duì)象就是實(shí)例,實(shí)例就是對(duì)象。這就是我的理解了  回復(fù)  更多評(píng)論
              
            # re: 我看C++中的Object, Class & Instance 2007-03-23 16:45 Neal
            呵呵,謝謝大家
            就是談?wù)勛约旱母惺芎屠斫饴铩!!?隙ㄓ胁粚?duì)的地方,只是希望大家能和偶一起探討探討~ 要不天天coding有什么意思呢

            C++和其它OO語言肯定有相同的地方,但更重要的是它不同的地方三,要不怎么會(huì)有這么多fans;D
              回復(fù)  更多評(píng)論
              
            # re: 我看C++中的Object, Class & Instance 2007-03-28 20:05 Corner Zhang
            @LOGOLS OFF
            赫赫,當(dāng)初我寫下這回復(fù),就覺得少不了具務(wù)實(shí)精神的回復(fù)!  回復(fù)  更多評(píng)論
              
            # re: 我看C++中的Object, Class & Instance 2007-03-30 17:08 塌塌方
            類就是一組數(shù)據(jù)及其能對(duì)它進(jìn)行的操作的集合  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久精品国产亚洲AV不卡| 久久婷婷是五月综合色狠狠| 无码任你躁久久久久久久| 77777亚洲午夜久久多人| 久久精品国产只有精品2020| 四虎国产精品免费久久久| 久久精品国产精品亚洲精品| 久久线看观看精品香蕉国产| 日产久久强奸免费的看| 久久天天躁狠狠躁夜夜avapp| 久久精品18| 精品永久久福利一区二区| 99精品国产99久久久久久97| 久久综合九色综合精品| 国产成人无码精品久久久性色| 成人午夜精品久久久久久久小说| 奇米影视7777久久精品| 欧美久久久久久午夜精品| 九九热久久免费视频| 免费观看成人久久网免费观看| 国产成人综合久久精品红| 亚洲国产成人精品无码久久久久久综合| 色婷婷综合久久久久中文一区二区 | 久久久久久久综合综合狠狠| 国产成人精品久久| 久久久久亚洲av成人无码电影| 国产精品18久久久久久vr| 97精品久久天干天天天按摩| 久久综合九色综合网站| 亚洲日韩欧美一区久久久久我| 国产巨作麻豆欧美亚洲综合久久 | 亚洲国产精品热久久| 日本精品久久久中文字幕| 欧美午夜精品久久久久免费视| 久久精品视频一| 亚洲精品国精品久久99热| 免费精品久久久久久中文字幕| 久久精品亚洲乱码伦伦中文| 久久99精品久久久久久不卡 | 久久久久久久综合日本亚洲| 国产麻豆精品久久一二三|