25.C++:最通俗的讲解,什么是面向过程?什么是面向对象?
網上關于這兩個的回答真的很多,但是都有一個共同特點:------------不容易懂。我今天就簡單通俗的說一下(當然,如果你要非常深入的了解,這篇不適合你。如果你只是為了了解什么是面向過程和面向對象,怎么面對考試,面對面試,怎么和別人說兩者區別,看我下面幾段話夠了。)
先來兩小段通俗解釋面向過程(Procedure Oriented 簡稱PO :像C語言):???
看名字它是注重過程的。當解決一個問題的時候,面向過程會把事情拆分成: 一個個函數和數據(用于方法的參數) 。然后按照一定的順序,執行完這些方法(每個方法看作一個個過程),等方法執行完了,事情就搞定了。
面向對象(Object Oriented簡稱OO :像C++,JAVA等語言):???
看名字它是注重對象的。當解決一個問題的時候,面向對象會把事物抽象成對象的概念,就是說這個問題里面有哪些對象,然后給對象賦一些屬性和方法,然后讓每個對象去執行自己的方法,問題得到解決。
舉個栗子:
冰箱里面放有臟衣服,怎么洗干凈???
面向過程:???????????????????
1 執行加洗衣粉方法;?2 執行加水方法;?? 3 執行洗衣服方法;??4 執行清洗方法;???? 5 執行烘干方法;----------解決問題??????
拆成一個個方法,是沒有對象去調用的。 通過一個個方法的執行解決問題。??
面向對象:
我先搞個洗衣機對象和人對象???
洗衣機: 加入一些屬性和方法? 洗衣服方法? 清洗方法? 烘干方法??????
人:加洗衣粉方法? 加水方法??
然后 人.加洗衣粉 人.加水?? 洗衣機.洗衣服 ? 洗衣機.清洗?? 洗衣機.烘干----------同樣解決問題???
先抽象出對象,然后用對象執行方法的方式解決問題。
然后在來一個我以前知乎看到的例子? :?
男女親密例子????? man?? gril???
面向過程:??????? make_love(man,gril)? ---------解決問題????? 拆成一個動作,把數據丟進去
面向對象:??????? man.make_love(gril)? 或者 gril.make_love(man) -----解決問題??? 抽象出對象,對象執行動作 。
當然,你面試的時候,你不要做make_love?? ....你可以說是打牌 。??
面向過程就是??? 打牌 (你,我,他)
面向對象就是? 我.打牌(你,他) or 你.打牌(我,他)? or 他.打牌(我,你)
我覺得算是很通俗啦,希望對大家有用。
總結
以上是生活随笔為你收集整理的25.C++:最通俗的讲解,什么是面向过程?什么是面向对象?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11MYSQL:慢查询以及优化步骤
- 下一篇: 26.智能指针和动态内存