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

综述

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

面向对象与面向程序

1. 区别
  • 面向对象:将问题拆解成多个步骤,通过一个一个步骤调用解决问题

  • 面向对象:将问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个问题中的行为

2. 例子

以五子棋为例:

  • 面向过程:开始游戏-白子先走-更新棋盘-判断输赢-黑子执棋-更新棋盘-判断输赢,然后不停重复直至分出胜负

  • 面向对象:设计出玩家(包括黑白双方)、棋盘(保存棋盘状态信息)和裁判(判定输赢)等对象

3. 优缺点
类别优点缺点
面向过程性能高不如面向对象易维护、易复用和易扩展
面向对象易维护、易复用和易扩展 具有封装、继承和多态等特性,可以设计出高内聚低耦合的系统性能差:类调用时需要实例化,消耗一定的资源

Reference

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值