簡單解釋op(面向過程procedure- oriented)與oo(面向對象object-oriented)


 一句話概括:

op是具體作爲模塊的拼湊。

oo是抽象作爲模塊的組合。

 

比如我們製作一樣東西,而這樣東西是用很多小東西拼在一起形成的,在這裏我們如果使用一個造車的小例子來解釋一下op與oo思想。

1、op的思想

         比如製作一輛汽車,這兩汽車首先得能跑,那麼就需要輪子,光是輪子也不行,接着就有了支架,有了支架也還不行,想要動起來就得有動力才行,這時候發動機上場了,有了動力可以動了,但是控制不了,於是有了方向盤,就這樣一部車經過一件接一件的零件的拼湊組裝成功,終於可以走起來了。

         雖然車可以動了,但是總是一個速度不變,我想增加一個換擋的功能,這時候就必須把車從頭到尾拆了重裝,裝好以後可以換擋了;但是現在又來了一個問題,減不了速,於是又把車又從頭到尾的拆了,增加了一個剎車功能後重新組裝。過段時間後,發動機出了新款,質量好,價格還不高,想換一個,於是又從框架,底盤燈一個個部件拆散,換了以後重新組裝,等等像這樣的增加或更替的事情毫無休止,而且每次都要重新的重頭到尾的拆散、組裝,隨着汽車零件的越來越多,車輛的結構也越來越複雜,拆散和組裝都慢慢變得越來越麻煩。對勞力和財力的消耗也越來越大。


         於是,人們就想,要是能夠缺什麼補什麼,要什麼換什麼,發動機出新的了,只直接換發動機就行了而不用從頭到尾的拆裝就好了。。。。。。

 

 

2、oo思想

          爲了解決op的疑問,oo出場了,oo思想把一輛車需要的所有部件單獨出來,然後利用一種新的設計將這些單獨的配件組裝在一起重新制造了一兩完好的車,當我們需要換發動機的時候直接在發動機那個部位切換即可,不再重新拆裝,當需要新增功能時,直接設計一個作用點,將這個功能新增的零件組合上去即可,也不需要重新拆裝。

 

 

上面這段說明我們設計到了兩個最重要的點,那就是耦合性可維護性這也是軟件開發中非常重要的思想。當然應用性是前提,用戶體驗性是關鍵。

 

Ps:我在這裏主要利用車輛的組裝假設來講op與oo的思想,當然現實中車輛的組裝肯定比我說的複雜很多,以上純屬個人理解,如有雷同,不勝榮幸。不對的還請大神指教。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章