您好,登錄后才能下訂單哦!
本篇內容介紹了“用C語言怎樣實現面向對象思想”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1, 基本信息
眾所周知,C語言是結構化和模塊化,面向過程的編程語言,在這里用戶創建過程或函數來執行他們的任務。面向過程的語言是很容易學,因為它遵循的算法來執行你的語句。要使用面向過程的語言開發程序,你需要畫/編寫算法,然后開始轉換成程序或功能。
因為C語言的面向過程的語言特性。在處理較小規模的程序時,程序員用C語言還比較得心應手。但是當問題比較復雜、程序的規模比較大時,結構化程序設計方法就顯出它的不足。C程序的設計者必須細致地設計程序的每一個細節,準確地考慮到程序運行時每一時刻發生的事情,例如各個變量的值是如何變化的,什么時候應該進行哪些輸入,在屏幕上應該輸出什么等。這對程序員的要求是比較高的,如果面對的是一個復雜問題,程序員往往感到力不從心。
采用C語言進行程序設計開發,一般是嵌入式的設備,比如:冰箱系統,空調系統,汽車電子等等。在這些需求場景下,往往硬件資源比較有限,內存資源有限,所以采用C++語言進行設計,會導致程序占用內存資源比較大。
所以為了彌補c語言的面向對象屬性的缺失,同時結合C程序資源占用小的優點。本文設計了一種基于面向對象思想的C程序設計方法及系統。
2,術語解釋:
Linux:Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。
3,關鍵詞
面向對象,程序設計
4,所屬技術領域
本文涉及一種c語言軟件設計的一套模板方法和系統,該方法是一種基于linux嵌入式操作系統,支持功能可裁剪,可配置,動態的修改配置.從而提高系統的開發效率,提高系統維護的便利性,系統運行的穩定性.
5,詳細技術方案描述
為了彌補了結構化過程設計的不足,面向對象這種當今流行的一種程序設計理念和設計規范,就應運而生,理念是一切皆為對象,以人的思維模式去解決問題。例如,Python、C++、Objective-C、Smalltalk、Delphi、Java、Swift、C#、Perl、Ruby等,其中C++嵌入式設備程序設計中,應用比較廣泛。C++可以看成C的超集,幾乎保留了C的所有特性,可以直接操作硬件寄存器等等硬件設備。同時又支持面向對象和泛型編程,這就導致了C++超級復雜。C++復雜性,對于程序設計語言學習者簡直就是噩夢,在學習的過程中,迷失在C++的語法“大海”中。
但是在實際生產活動中,需要對對象進行各種各樣的組合,并且對象本身需要根據產品的不同,會有比較大的不同。比如:一家汽車生產廠商,需要生產不同類型的汽車,發動機可能來自奔馳、寶馬、考斯沃斯等等。輪胎可能來自米其林、固特異、倍耐力等等。如下圖所示。
所以考慮現實世界問題的復雜性,生產活動的要求,需要加入配置的功能,可以對對象進行配置。
本文的目的在于提供一種C語言程序設計模板,基于面向對象的封裝思想,將功能模塊進行抽象、封裝,并且集成了配置功能,實現功能的可裁剪和可配置。使程序員在設計復雜程序的時候,能夠快速、高效地實現一套兼容性好,穩定高的程序。此程序設計模板只包含面向對象中封裝,繼承,多態中的封裝,暫不具有繼承和多態的功能。
此設計模板包括一個配置模板,對象模板,初始化模板。
對象模板如下:
配置模板如下:
對配置模板中的是否支持是這個模板中一定要支持的,others可以根據需要增加自己需要的配置
初始化模板如下:
從圖中我們可以發現,object_create()模板中會從配置模板形成的配置中讀出是否支持該obj,如果支持,獲取其他的配置,根據不同的配置,賦值不同的obj回調接口,然后創建對象模板,形成真正的object.
其他的接口可以用這個object,調用里面的對象接口,實現面向對象的編程方式。
怎樣使用對象呢?請看下圖
我們可以看到,根據不同的配置,用戶可以吃到不同的米飯,如果是大米飯配置,用戶吃飯就可以吃到了大米飯。
6,總結
利用這種封裝+加配置的方式,可以實現快速的開發工作,將具體的內容進行封裝,提高團隊的開發效率,開發人員不需要關注其他人員的實現過程,只需要調用方法即可。
“用C語言怎樣實現面向對象思想”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。