摘 要:本文通過利用C語言自身的語法特點(diǎn),巧妙的構(gòu)造了面向?qū)ο蟪绦蛟O(shè)計(jì)的特性,實(shí)現(xiàn)了面向?qū)ο蟪绦蛟O(shè)計(jì)中的封裝、繼承和多態(tài)。并將該方法運(yùn)用于內(nèi)存資源有限的微控制器系統(tǒng)的軟件設(shè)計(jì)中,實(shí)現(xiàn)了C語言的簡(jiǎn)潔、靈活編程的同時(shí),增強(qiáng)了軟件代碼的復(fù)用性,提升了系統(tǒng)的健壯性和降低代碼的維護(hù)成本。
關(guān)鍵詞:面向?qū)ο螅卉浖O(shè)計(jì);C編程
中圖分類號(hào):TP311.52
將C語言改造為面向?qū)ο蟮恼Z言,早在上世紀(jì)80年代就有了Objective-C,但是Objective-C是對(duì)C語言的嚴(yán)格擴(kuò)充,任何原始的C語言程序不經(jīng)修改就可以直接通過Objective-C編譯器,而Objective-C程序是無法在C編譯器中編譯。當(dāng)前主要的微型控制器芯片的編譯工具都是C編譯器。
本文是在高煥堂及MISOO團(tuán)隊(duì)開發(fā)的面向?qū)ο驝編程基礎(chǔ)上,對(duì)其編寫的OOPC宏文件進(jìn)行部分的修改,增加了單繼承的功能,從而實(shí)現(xiàn)面向?qū)ο筇匦?,語法符合C語言規(guī)范。
1 LW_OOPC和輕量級(jí)面向?qū)ο驝的設(shè)計(jì)
1.1 MISOO 團(tuán)隊(duì)的LW_OOPC。LW_OOPC是高煥堂和他的MISOO團(tuán)隊(duì)開發(fā)的一套輕量級(jí)的面向?qū)ο驝語言編程框架。它提供是一套C語言的宏,集成在lw_oopc.h或lw_oopc_kc.h文件中。LW_OOPC的代碼以LGPL協(xié)議開源,能很優(yōu)美的實(shí)現(xiàn)封裝、接口和多態(tài)。代碼中包含了6個(gè)宏,總結(jié)如表1所示。
1.2 增加私有屬性
2 結(jié)束語
通過繼承和私有屬性的處理,在LW_OOPC的基礎(chǔ)上增加了相應(yīng)的宏后,實(shí)現(xiàn)了面向?qū)ο驝的基本特性,即封裝、繼承和多態(tài)。多態(tài)的實(shí)現(xiàn)在文獻(xiàn)[1]中有詳細(xì)的闡述。實(shí)現(xiàn)了基本的面向?qū)ο筇匦院?,在微型控制器的C語言編程中,可以采用面向?qū)ο蟮乃季S,增加代碼的復(fù)用性。
參考文獻(xiàn):
[1]高煥堂.UML+OOPC嵌入式C語言精講[M].北京:電子工業(yè)出版社,2008:143-145.
[2]袁明,張連芳,董淼.面向?qū)ο蠹夹g(shù)在嵌入式開發(fā)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2003(02):48-50.
[3]任杰,陽昕,石磊.面向?qū)ο蠹夹g(shù)在C編譯器OCC中的應(yīng)用[J].計(jì)算機(jī)工程,2008(09):93-97.
作者簡(jiǎn)介:潘承毅(1981-),男,貴州劍河人,助教,碩士,研究方向:計(jì)算機(jī)應(yīng)用。
作者單位:凱里學(xué)院 信息工程學(xué)院,貴州凱里 556011
基金項(xiàng)目:校級(jí)課題,車載GPS 混合定位研究。