摘要:其實(shí)我們的身邊很多東西都是這樣組成的:比如說電腦:電腦是由主板,CPU加上各種卡組成的。這就是一個框架化。而忽略不同的CPU,不同的主板,不同的聲卡,網(wǎng)卡,顯卡的區(qū)別,這就是抽象。再比如說現(xiàn)在的教育網(wǎng):是由主核心節(jié)點(diǎn):清華,北大,北郵等幾個,然后是各個子節(jié)點(diǎn),依次組成了整個教育網(wǎng)網(wǎng)絡(luò)。所以我覺得面向?qū)ο蟮木幊趟枷刖褪牵阂?/p>
其實(shí)我們的身邊很多東西都是這樣組成的:比如說電腦:電腦是由主板,CPU加上各種卡組成的。這就是一個框架化。而忽略不同的CPU,不同的主板,不同的聲卡,網(wǎng)卡,顯卡的區(qū)別,這就是抽象。再比如說現(xiàn)在的教育網(wǎng):是由主核心節(jié)點(diǎn):清華,北大,北郵等幾個,然后是各個子節(jié)點(diǎn),依次組成了整個教育網(wǎng)網(wǎng)絡(luò)。
所以我覺得面向?qū)ο蟮木幊趟枷刖褪牵阂粋€大型工程是分層次結(jié)構(gòu)的,每層又由抽象的結(jié)構(gòu)連接為整體(框架化),各個抽象結(jié)構(gòu)之間是彼此獨(dú)立的,可以獨(dú)立進(jìn)化(繼承,多態(tài))。層次之間,結(jié)構(gòu)之間各有統(tǒng)一的通訊方式(通常是消息,事件機(jī)制)。
二、 以前C語言編程中常用的“面向?qū)ο蟆狈椒?/STRONG>
其實(shí)C語言誕生以來,人們就想了很多辦法來體現(xiàn)“面向?qū)ο蟆钡乃枷?。下面就來說說我所知道的方法。先說一些大家熟悉的東東,慢慢再講詭異的。呵呵
1. 宏定義:
有的人不禁要問,宏定義怎么扯到這里來了,我們可以先看一個簡單的例子:
#define MacroFunction Afunction
然后在程序里面你調(diào)用了大量的AFunction,但是有一天,你突然發(fā)現(xiàn)你要用BFunction了,(不過AFunction又不能不要,很有可能你以后還要調(diào)用),這個時候,你就可以#define MacroFunction Bfunction來達(dá)到這樣的目的。
當(dāng)然,不得不說這樣的辦法是too simple,sometime na?ve的,因?yàn)橐粋€很滑稽的問題是如果我一般要改為BFunction,一半不變怎么辦? 那就只好查找替換了。
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題