面向对象和面向过程

面向过程:

顾名思义,其中心意义在于“过程”二字,比如你要吃饭,那么首先是要选地,播种,施肥,成熟,收获,煮饭,然后才能吃饭,那么面向过程就是从开始到结束,分析出解决问题的需要的每一个步骤,然后用函数将这些步骤一个一个实现,使用的时候一个一个一次调用就行了。

面向对象:

同样的,你去饭店吃饭的时候,只需要对服务员说一句你要吃饭就行了,你不需要关心饭是怎么来的,这就是面向对象。那么面向对象就是把组成问题事务分解成一个个对象,建立对象不是为了解决一个步骤,而是用来描述某个事务在解决问题步骤中的行为。面向对象是以功能来划分问题,而不是步骤。

从书面上来说,可能面向过程更好理解,但是其实面向对象更符合人们的思考习惯。比如外面去商场买衣服,那么商场的功能就是提供衣服,你不需要关心衣服是怎么来的,你只需要向商场提出你要买衣服的要求就可以。
就那贪吃蛇这个游戏而言,对于面向过程:1、吃一个;2、绘制画面;3判断是否死亡,就这样依次调用函数,一个一个步骤进行。
而面向对象,建立三个对象:1、蛇;2、画面系统;3、规则系统。首先进行操作,然后将操作后的结果提交至画面系统进行画面绘制,绘制之后的结果提交至规则系统判断是否死亡。这样一招功能来划分问题。

面向对象的功能划分保证了面向对象的可扩展性。比如我需要为贪吃蛇重新改写一套规则,在面向过程中,规则已经渗透到整个程序的各个角落,改写不如重写。那么在面向对象中,则只需要重新设计规则系统即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值