C C 讓我康康誰還混淆物件導向和面向過程

2021-10-20 21:41:18 字數 1023 閱讀 4555

作為一名計算機學生,入門時學習了c語言後,對於面向過程有了初步的認識,在之後更加深入的學習後,對於物件導向和面向過程有了一定的理解,那麼這篇部落格就一起研讀一下兩者的區別與聯絡~

面向過程

是分析解決問題的步驟,然後用函式把這些步驟一步一步地實現,然後在使用的時候一一呼叫即可。面向過程的效能較高。

物件導向

是把構成問題的事務分解成各個物件,而建立物件的目的也不是為了完成乙個個步驟,而是為了描述某個事物在解決整個問題的過程中所發生的行為。效能上要比面向過程要低

總而言之,面向過程是以過程為核心,強調事件的流程、順序;物件導向是以物件為核心,強調事件的角色、主體。

我們以小傑起床開車上班這件事為例做以說明:

從面向過程的角度看待:

用**說明面向過程:

第一步:getup()

;第二步:wash()

;第三步:drive()

;

從物件導向的角度看待:

用**說明物件導向:

function person

(bed,toothbrush,car)};

var xiaojie=

newperson

('席夢思'

,'高富帥'

,'寶馬'

);xiaojie.

work()

;

面向過程:

優點:根據事情的目的分解出過程,然後一步步實施;效能高,但呼叫類時需要例項化,開銷大,較消耗資源,所以微控制器、嵌入式開發等一般採用面向過程開發。

缺點:只關注當前事件的實現

物件導向:

優點:物件導向有封裝、繼承、多型的特點,具有易維護、易復用、易擴充套件。可以設計出低耦合的系統,使系統更加靈活、更加易於維護。

缺點:效能低,如果只是單一的功能實現,物件導向的設計思路就顯得過於繁瑣。

康托展開 第幾是誰

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有 abcdefghijkl 12個字元,將其按字典序排列,如果給出任意一種排列,我們能說出這個排列在所有的排列中是第幾小的。但是現在我們給出它是第幾小,需要你求出它所代表的序列.輸入 第一行有乙個整數n 0 輸出輸出乙個序...

我的板子 康托展開與逆康托展開

用於求給一列數,讓你求它是全排列的第幾個數 總結康托展開公式為 rank an n 1 an 1 n 2 a10 表示原排列中,排在下標 i 後面的,比下標 i 的字元還小的字元個數。當然,如果排名是從 1 開始的話,最終結果應當再 1。比如 2 3 4 1 排在2後面的比2小的有1個 1 rank...

我所知道的富士康(1)

我所知道的富士康之序言 最近總有朋友詢問我富士康的事情,問得多了,也就回憶的多了,興奮的時候,就想乾脆整理成文字吧,也算對自己自 06年以來給富士康做諮詢的乙個總結。從 06年以來我給富士康的 3個事業群做過了 cmmi 的諮詢,2次 2級,3次 3級,累計現場諮詢天數超過 150天吧,所以日積月累...