综述
C是一门结构化语言,重点在于数据结构与算法,侧重于对于输入进行运算得到输出(面向过程)。而C 考虑的是构造一个对象模型,通过获取对象的方法和属性来得到输出(面向对象)。
面向对象与面向程序
1. 区别
- 面向对象:将问题拆解成多个步骤,通过一个一个步骤调用解决问题
- 面向对象:将问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个问题中的行为
2. 例子
以五子棋为例:
- 面向过程:开始游戏-白子先走-更新棋盘-判断输赢-黑子执棋-更新棋盘-判断输赢,然后不停重复直至分出胜负
- 面向对象:设计出玩家(包括黑白双方)、棋盘(保存棋盘状态信息)和裁判(判定输赢)等对象
3. 优缺点
类别 | 优点 | 缺点 |
---|---|---|
面向过程 | 性能高 | 不如面向对象易维护、易复用和易扩展 |
面向对象 | 易维护、易复用和易扩展 具有封装、继承和多态等特性,可以设计出高内聚低耦合的系统 | 性能差:类调用时需要实例化,消耗一定的资源 |
Reference
[1] https://blog.csdn.net/tonglin12138/article/details/94555183