C語言的物件導向技術

2022-06-17 19:12:16 字數 712 閱讀 5041

引言:面向過程的c有效率高,**緊湊的特點,在微控制器嵌入式領域是c的主要陣地,while(1)+中斷是其主要的開發模式,但是當系統複雜到一定程度,想要新增乙個功能需要改動很多地方,耦合性太強;跟別人交流程式時對方根本理解不了,後台的while(1)中有的關鍵部分很容易被中斷打斷,我們只能不斷的通過很多的「disable_inturrupt,enble_inturrput"補丁來解決,那麼有沒有好的解決辦法呢:答案當然是有,且有多種方法。

方法一:上微作業系統:ucos/ ecos/ mbed/free rtos/qnx/linux等待,通過系統的任務排程實現組裝式多工開發和之間的耦合關係

方法二:利用c++開發:這類雖然在微控制器嵌入式上可以實現,因為eda、編譯器、處理器記憶體和flash的增大**的走低都提供了條件。但是比起c還是編譯效率不高。

方法三:利用狀態機思路,包括很多人自己研究車的架構或者qpc類的利用uml語言實現的狀態機(以後文章總結),

方法四:利用c的結構體封裝(結構體指標、指標函式)的特性和架構分層的思想對實現進行抽象和封裝,使其結構清晰,低耦合,但這需要較高的c語言功底和分析概況能力。物件導向的三大特性:封裝、繼承和多型。頂級存在是類和物件,具體是將資料和方法進行糅合。

或者stm32中的gpio初始化函式、linux的開發的技巧就是這種體現。

繼承與組合:繼承(子類與父類)是「is a」關係;而組合是「has a"關係。c的物件導向的思想參考,並沒有解決資料私有和受保護物件特性。

C 物件導向技術

物件導向技術的基本概念 物件導向是指按人們認識客觀世界的系統思維方式,採用基於物件 實體 的概念建立模型,模擬客觀世界分析,設計,實現軟體的辦法,包括類,物件,訊息以及類的特性 抽象,繼承,封裝,過載,多型 class和struct的區別 初始化列表和賦值的區別 當類中含有const,或引用成員變數...

C語言的物件導向

看了qualcomm的 inte ce,決定把它抄下來。主要還是方便日後查詢。1.define the structure of virtual function table 2.define the structure of class 3.about the size of structure ...

物件導向的C 語言 介面

介面 inte ce 1.定義乙個介面public inte ce istringlist 計數 索引 string this int index 2.實現介面 格式 class 類名 父類,介面,介面,介面 3.介面運用例項 介面運用 using system 定義介面 介面內可以新增方法 屬性 ...