[C++面試]C與C++(面向過程與面向對象)區別

綜述

C是一門結構化語言,重點在於數據結構與算法,側重於對於輸入進行運算得到輸出(面向過程)。而C++考慮的是構造一個對象模型,通過獲取對象的方法和屬性來得到輸出(面向對象)。

面向對象與面向程序

1. 區別

  • 面向對象:將問題拆解成多個步驟,通過一個一個步驟調用解決問題

  • 面向對象:將問題分解成各個對象,建立對象的目的不是爲了完成一個步驟,而是爲了描述某個事物在整個問題中的行爲

2. 例子

以五子棋爲例:

  • 面向過程:開始遊戲-白子先走-更新棋盤-判斷輸贏-黑子執棋-更新棋盤-判斷輸贏,然後不停重複直至分出勝負

  • 面向對象:設計出玩家(包括黑白雙方)、棋盤(保存棋盤狀態信息)和裁判(判定輸贏)等對象

3. 優缺點

類別 優點 缺點
面向過程 性能高 不如面向對象易維護、易複用和易擴展
面向對象 易維護、易複用和易擴展 具有封裝、繼承和多態等特性,可以設計出高內聚低耦合的系統 性能差:類調用時需要實例化,消耗一定的資源

Reference

[1] https://blog.csdn.net/tonglin12138/article/details/94555183

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