?? 從c到c++看對(duì)象的產(chǎn)生.txt
字號(hào):
作者:rick1126
email: rickzhang@sina.com
日期:8/8/2001 4:20:33 PM
1. 對(duì)象解決了數(shù)據(jù)和方法的封裝以及變量的名字空間問題
1) 名字空間
以前的C里面, 所有變量包括DLL都共享同一個(gè)名字空間, 為此你不能保證每一個(gè)第三方提供的DLL都是互不沖突的.
2) 封裝, 抽象, 繼承, 多態(tài)
[封裝]
封裝是針對(duì)對(duì)象而言的, 以前我們封裝數(shù)據(jù)和相應(yīng)操作的方法是利用DLL, 現(xiàn)在我們可以使用對(duì)象將相關(guān)數(shù)據(jù)封裝起來. 對(duì)象比較DLL更加符合我們顯示世界的認(rèn)知單位
[抽象]
抽象就是將現(xiàn)實(shí)世界中的對(duì)象進(jìn)行一般化, 為此我們通常在進(jìn)行系統(tǒng)分析和設(shè)計(jì)的時(shí)候, 將最最特殊的問題抽象成為類型 -- 注意, 特殊就是我們所關(guān)心的元素量最少, 最簡(jiǎn)單, 由簡(jiǎn)到繁的設(shè)計(jì)方式使得我們的系統(tǒng)更具擴(kuò)展性.
[繼承]
繼承使得對(duì)象之間有了聯(lián)系和層次. 通過向類型添加需要關(guān)心的元素, 新的類型派生出來.
[多態(tài)]
多態(tài)是現(xiàn)實(shí)世界的一種對(duì)待問題的方式
2. 從結(jié)構(gòu)的角度看待對(duì)象
1) 類就是具有生命力的結(jié)構(gòu)
結(jié)構(gòu)是來自C的用戶自定義類型方式, 加上方法就使得結(jié)構(gòu)實(shí)例有了自己的"行為"能力, 成為"活生生"的對(duì)象. 這使得它具備了邏輯上的一種認(rèn)識(shí)層次. 從計(jì)算機(jī)角度看, 結(jié)構(gòu)就是2進(jìn)制數(shù)據(jù)的結(jié)構(gòu)化存儲(chǔ), 是對(duì)于內(nèi)存空間的一種單元化使用, 添加了方法, 就是附加了相對(duì)應(yīng)的函數(shù)指針, 有了這種認(rèn)識(shí), 對(duì)于我們以后學(xué)習(xí)COM涉及的虛函數(shù)和VTable都是很有幫助的. class和structure的區(qū)別僅僅在于出現(xiàn)的前后和默認(rèn)存取類型的不同(class--private, structure--public), 所以我們以后接觸到的COM的interface就是structure的宏定義而已
上面就是目前我對(duì)于類和對(duì)象的粗淺認(rèn)識(shí), 希望各位網(wǎng)友指正.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -