[C++面试]C与C++(面向过程与面向对象)区别

2021-12-16 09:46:28 浏览数 (1)

综述

C是一门结构化语言,重点在于数据结构与算法,侧重于对于输入进行运算得到输出(面向过程)。而C 考虑的是构造一个对象模型,通过获取对象的方法和属性来得到输出(面向对象)。

面向对象与面向程序

1. 区别
  • 面向对象:将问题拆解成多个步骤,通过一个一个步骤调用解决问题
  • 面向对象:将问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个问题中的行为
2. 例子

以五子棋为例:

  • 面向过程:开始游戏-白子先走-更新棋盘-判断输赢-黑子执棋-更新棋盘-判断输赢,然后不停重复直至分出胜负
  • 面向对象:设计出玩家(包括黑白双方)、棋盘(保存棋盘状态信息)和裁判(判定输赢)等对象
3. 优缺点

类别

优点

缺点

面向过程

性能高

不如面向对象易维护、易复用和易扩展

面向对象

易维护、易复用和易扩展 具有封装、继承和多态等特性,可以设计出高内聚低耦合的系统

性能差:类调用时需要实例化,消耗一定的资源

Reference

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

0 人点赞