面向对象和面向过程的特点及区别

面向过程

面向过程指的是,分析出解决问题所需的若干个步骤,用函数将这些步骤一一实现,使用时依次调用这些函数即可。

优点: 性能比面向对象高。常用于单片机、嵌入式开发、Linux/Unix,因为它们侧重于更高的性能、更小的资源消耗
缺点: 没有面向对象易维护、易复用、易扩展

引用网上看到的一个五子棋例子:面向过程的设计思路是分析解决问题的步骤:1)开始游戏,2)黑子先走,3)绘制画面,4)判断输赢,5)白子走,6)绘制画面,7)判断输赢,8)没有输赢,则返回步骤2,9)有输赢,则输出输赢的结果。把上面的步骤使用不同的函数实现,然后依次执行函数。

面向对象

面向对象指的是,从问题中抽象出若干个对象及其对应的方法,用这些对象执行方法来解决问题。它强调的是以功能来划分问题。

优点: 易维护、易复用、易扩展。由于面向对象具有封装、继承和多态的特性,可以设计出低耦合的系统,使系统更灵活和易于维护
缺点: 性能比面向过程低,因为类调用时需要实例化,开销比较大,更消耗资源。

对应的五子棋的例子:面向对象的设计思想是先抽象出若干个对象及其对应的方法。整个五子棋可以分为如下几个对象:
1)黑白双方,两方行为是没有差别的,这类对象的行为包括
①接受对应的用户输入
②告知第二类对象(棋盘)棋子布局的变化
2)棋盘,负责接受黑白方告知的棋子变化并绘制变化后的棋盘
3)游戏规则,负责判定犯规、输赢等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值