C語言中的面向?qū)ο笏枷?/h1>
可是不幸的是,這些都是以C++,甚至VC++為基礎(chǔ)的。而更加不幸的是,多年以來我一直是一個C的使用者。在學(xué)校的時(shí)候,我主要做的是硬件上的驅(qū)動層,和底層功能層。在工作以后,又做的是手機(jī)上的軟件開發(fā),所有這些都是和C離不開的。
雖然我不得不說,C++是一門很好的語言,但是它的編譯速度,代碼效率,編譯后的代碼大小都限制了它在嵌入式上的應(yīng)用。(但現(xiàn)在的嵌入式CPU越來越快,內(nèi)存容量變大。我覺得用C++也應(yīng)該沒有什么問題。這使我覺得似乎是嵌入式編譯器的限制。雖然菲利普和TI好像都有C++的編譯器,但是似乎沒人用這個。難道是太貴了? 但不管怎么說,嵌入式應(yīng)用中,C語言的普遍使用是肯定的)
那么在面向過程的時(shí)代產(chǎn)生的C語言能否使用面向?qū)ο蟮乃枷肽??我認(rèn)為是肯定可以的,C++不過是在語言級別上加入了對對象的支持,同時(shí)提供了豐富的對象庫。而在C語言下,我們只好自力更生了。相信很多人都明白面向?qū)ο笾v了什么:類,抽象類,繼承,多態(tài)。但是是什么原因促使這些概念的產(chǎn)生呢?
打個比方說:你去買顯示器,然而顯示器的品牌樣式是多種多樣的,你在買的過程中發(fā)生的事情也是不可預(yù)測的。對于這樣的事情,我們在程序語言中如何去描述呢。面向?qū)ο蟮乃枷刖褪菫榱私鉀Q這樣的問題。編寫一個程序(甚至說是一個工程),從無到用是困難的,從有到豐富是更加困難的。面向?qū)ο髮⒊绦虻母鱾€行為化為對象,而又用抽象的辦法將這些對象歸類(抽象),從而將錯綜復(fù)雜的事情簡化為幾個主要的有機(jī)組合(框架化)。
其實(shí)我們的身邊很多東西都是這樣組成的:比如說電腦:電腦是由主板,CPU加上各種卡組成的。就是一個框架化。而忽略不同的CPU,不同的主板,不同的聲卡,網(wǎng)卡,顯卡的區(qū)別,這就是抽象。再比說現(xiàn)在的教育網(wǎng):是由主核心節(jié)點(diǎn):清華,北大,北郵等幾個,然后是各個子節(jié)點(diǎn),依次組成了整個教育網(wǎng)網(wǎng)絡(luò)。C語言中的面向?qū)ο笏枷隱1]
經(jīng)常聽見別人說面向?qū)ο蟮某绦蛟O(shè)計(jì),以前在學(xué)校上課的時(shí)候,也有開面向?qū)ο蟪绦蛟O(shè)計(jì)這門課??墒遣恍业氖?,這些都是以C++,甚至VC++為基礎(chǔ)的。而更加不幸的是,多年以來我一直是一個C的使用者。在學(xué)校的時(shí)候,我主要做的是硬件上的驅(qū)動層,和底層功能層。
在工作以后,又做的是手機(jī)上的軟件開發(fā),所有這些都是和C離不開的。雖然我不得不說,C++是一門很好的語言,但是它的編譯速度,代碼效率,編譯后的代碼大小都限制了它在嵌入式上的應(yīng)用。(但現(xiàn)在的嵌入式CPU越來越快,內(nèi)存容量變大。我覺得用C++也應(yīng)該沒有什么問題。這使我覺得似乎是嵌入式編譯器的限制。雖然菲利普和TI好像都有C++的編譯器,但是似乎沒人用這個。難道是太貴了? 但不管怎么說,嵌入式應(yīng)用中,C語言的普遍使用是肯定的)
那么在面向過程的時(shí)代產(chǎn)生的C語言能否使用面向?qū)ο蟮乃枷肽??我認(rèn)為是肯定可以的,C++不過是在語言級別上加入了對對象的支持,同時(shí)提供了豐富的對象庫。而在C語言下,我們只好自力更生了。相信很多人都明白面向?qū)ο笾v了什么:類,抽象類,繼承,多態(tài)。但是是什么原因促使這些概念的產(chǎn)生呢?
打個比方說:你去買顯示器,然而顯示器的品牌樣式是多種多樣的,你在買的過程中發(fā)生的事情也是不可預(yù)測的。對于這樣的事情,我們在程序語言中如何去描述呢。面向?qū)ο蟮乃枷刖褪菫榱私鉀Q這樣的問題。編寫一個程序(甚至說是一個工程),從無到用是困難的,從有到豐富是更加困難的。面向?qū)ο髮⒊绦虻母鱾€行為化為對象,而又用抽象的辦法將這些對象歸類(抽象),從而將錯綜復(fù)雜的事情簡化為幾個主要的有機(jī)組合(框架化)。
其實(shí)我們的身邊很多東西都是這樣組成的:比如說電腦:電腦是由主板,CPU加上各種卡組成的。就是一個框架化。而忽略不同的CPU,不同的主板,不同的聲卡,網(wǎng)卡,顯卡的區(qū)別,這就是抽象。再比說現(xiàn)在的教育網(wǎng):是由主核心節(jié)點(diǎn):清華,北大,北郵等幾個,然后是各個子節(jié)點(diǎn),依次組成了整個教育網(wǎng)網(wǎng)絡(luò)。
【編輯推薦】
- 網(wǎng)絡(luò)技術(shù)人員為玉樹抗災(zāi)解決困難
- 曹重英:技術(shù)人員也要打造人脈競爭力
- 生命何其輕 技術(shù)人員當(dāng)注重心理健康
- 51CTO技術(shù)人生存大調(diào)查:你壓力大嗎?
- 51CTO:技術(shù)人也看世界杯——每日球評