一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

[轉(zhuǎn)載]OO Programing in C - C/C - ChinaUnix.ne...

 jijo 2008-08-29


----------------------------------------------------------------------------------------------------------------
經(jīng)常看到關(guān)于OO編程的討論,C++, Java, C#...還有最近很流行的動態(tài)語言Python,Ruby等,但很少看到有C的份。


在我看來,OO編程的核心是OO的思想,用什么語言倒是其次。但是,不可否認,那些專門為OO編程設(shè)計的語言可以比較方便和自然地表達OO思想,有些語言甚至強制使用OO特性。


C,作為最貼近底層的高級語言,擁有簡潔的語法和直接內(nèi)存操作能力(指針),大量運用于系統(tǒng)級編程,如操作系統(tǒng)內(nèi)核,驅(qū)動程序等。而在嵌入式系統(tǒng)中,由于資源有限等因素,更傾向于用C編程。

C雖然在語言特性上并沒有體現(xiàn)OO特性,但是依然可以通過各種編程技巧來體現(xiàn)OO的思想。由于C的高度自由的特點,在OO編程方面還能體現(xiàn)有別于其他語言的特殊韻味。


OO思想在Unix世界中很早就有:UNIX把設(shè)備抽象成文件,這樣就可以用一套相同的方法(open, read, write, close, ... )去訪問不同的設(shè)備和文件——盡管設(shè)備之間的差異很大。用OO的觀點來看,這些“設(shè)備”對象都實現(xiàn)了"文件操作接口",可以想象有一個叫"文件"的基類,定義了"文件操作接口",“設(shè)備”對象繼承了“文件”對象....。在實現(xiàn)角度看,在內(nèi)核里面,設(shè)備驅(qū)動提供了自己的read, write等實現(xiàn),并用它們?nèi)ヌ畛湮募僮鹘Y(jié)構(gòu)體里面的函數(shù)指針....這和C++里面的虛函數(shù)運行時綁定的道理是一樣的。( C++虛函數(shù)是其實是運行時靜態(tài)綁定,而文件操作接口可以運行時動態(tài)綁定

Linux內(nèi)核中則處處體現(xiàn)了OO的思想。2.6內(nèi)核的Device Driver Modal是一套層次分明又錯綜復(fù)雜的機制,其中體現(xiàn)了許多OO設(shè)計理念。雖然可能設(shè)備驅(qū)動程序開發(fā)者覺察不到,但所有的設(shè)備驅(qū)動對象內(nèi)部都隱藏了一個叫KObject的對象。內(nèi)核把這些KObjects互相聯(lián)系在一起,并通過KObject的相互關(guān)系構(gòu)造了/sys文件系統(tǒng)。/sys就是內(nèi)核中各種設(shè)備對象的映射圖,如果把/sys全部展開,我們可以清楚地看到各種對象的關(guān)系。

實踐證明,C也可以很好地用于OO編程,而且可以用于構(gòu)造很復(fù)雜的系統(tǒng),而且C在表達OO思想的時候并不會顯得蹩腳,而是可以很簡單,很自然。

[ 本帖最后由 gawk 于 2008-8-24 10:02 編輯 ]

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美一级内射一色桃子| 色婷婷国产熟妇人妻露脸| 久久99精品日韩人妻| 深夜视频成人在线观看| 蜜桃传媒在线正在播放| 91日韩欧美中文字幕| 99久久国产精品免费| 99精品人妻少妇一区二区人人妻| 国产成人精品视频一区二区三区| 夫妻性生活真人动作视频| 日韩精品一级一区二区| 亚洲欧美视频欧美视频| 精品香蕉一区二区在线| 欧美日韩有码一二三区| 欧洲自拍偷拍一区二区| 亚洲欧美日韩在线中文字幕| 国产欧洲亚洲日产一区二区| 国产日本欧美特黄在线观看| 91人妻丝袜一区二区三区| 欧美精品一区二区三区白虎| 中文字幕欧美精品人妻一区 | 久久精品少妇内射毛片| 少妇福利视频一区二区| 99久久无色码中文字幕免费| 尹人大香蕉中文在线播放| 亚洲欧洲成人精品香蕉网| 99热在线播放免费观看| 日本在线高清精品人妻| 国产精品国三级国产专不卡| 亚洲中文字幕在线视频频道| 精品国产91亚洲一区二区三区 | 亚洲高清中文字幕一区二三区| 99久久人妻精品免费一区| 国产一区日韩二区欧美| 少妇肥臀一区二区三区| 欧美大粗爽一区二区三区| 亚洲视频在线观看你懂的| 欧美极品欧美精品欧美| 日本欧美一区二区三区在线播| 日本一区二区三区黄色| 午夜精品一区二区av|