綜述
C是一門結構化語言,重點在於數據結構與算法,側重於對於輸入進行運算得到輸出(面向過程)。而C++考慮的是構造一個對象模型,通過獲取對象的方法和屬性來得到輸出(面向對象)。
面向對象與面向程序
1. 區別
面向對象:將問題拆解成多個步驟,通過一個一個步驟調用解決問題
面向對象:將問題分解成各個對象,建立對象的目的不是爲了完成一個步驟,而是爲了描述某個事物在整個問題中的行爲
2. 例子
以五子棋爲例:
面向過程:開始遊戲-白子先走-更新棋盤-判斷輸贏-黑子執棋-更新棋盤-判斷輸贏,然後不停重複直至分出勝負
面向對象:設計出玩家(包括黑白雙方)、棋盤(保存棋盤狀態信息)和裁判(判定輸贏)等對象
3. 優缺點
類別 | 優點 | 缺點 |
---|---|---|
面向過程 | 性能高 | 不如面向對象易維護、易複用和易擴展 |
面向對象 | 易維護、易複用和易擴展 具有封裝、繼承和多態等特性,可以設計出高內聚低耦合的系統 | 性能差:類調用時需要實例化,消耗一定的資源 |
Reference
[1] https://blog.csdn.net/tonglin12138/article/details/94555183