程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言的面向對象概念詳解

C語言的面向對象概念詳解

編輯:關於C語言

        OO思想在Unix世界中很早就有:UNIX把設備抽象成文件,這樣就可以用一套相同的方法(open, read, write, close, ... )去訪問不同的設備和文件——盡管設備之間的差異很大。用OO的觀點來看,這些“設備”對象都實現了"文件操作接口",可以想象有一個叫"文件"的基類,定義了"文件操作接口",“設備”對象繼承了“文件”對象....。在實現角度看,在內核裡面,設備驅動提供了自己的read, write等實現,並用它們去填充文件操作結構體裡面的函數指針....這和C 裡面的虛函數運行時綁定的道理是一樣的。( C 虛函數是其實是運行時靜態綁定,而文件操作接口可以運行時動態綁定 :-)

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

       實踐證明,C也可以很好地用於OO編程,而且可以用於構造很復雜的系統,而且C在表達OO思想的時候並不會顯得蹩腳,而是可以很簡單,很自然。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved