面向对象编程与面向过程编程的区别

面向过程:

以坦克飞机大战为例,如果按面向过程的思路去书写代码,则需要按如下顺序进行编码:

  1. 游戏初始化
  2. 确定一台坦克的位置
  3. 绘制坦克
  4. 确定多架飞机的位置
  5. 绘制飞机
  6. 为坦克设置上下左右四个转向
  7. 为坦克添加按下键盘k键发射子弹
  8. 为所有飞机添加发射子弹功能
  9. 检查坦克发射的子弹是否击中飞机,若击中,飞机从画面中消失
  10. 检查检查飞机发射的子弹是否击中坦克,若击中,坦克从画面中消失,游戏结束
  11. 若所有飞机都被歼灭,玩家胜利,闯关结束

对应代码:

def main():
    game_init()
    create_tank_pos()
    draw_tank()
    create_planes_pos()
    draw_plans()
    set_tank_directions()
    set_kbutton()
    set_planes_bullet()
    check_plane_hit()
    check_tank_hit()
    check_live()

面向对象: 

面向对象的关键是对象两个字,万物皆对象,一个对象就是一个实体;

比如上述坦克飞机大战中,就有三个对象

  • 坦克对象
  • 飞机对象
  • 子弹对象

这三个对象都是看的见、摸得着的实体

定义好上面三个对象以后,再分别定义它上面的属性和行为方法

如坦克对象实现面向过程中的:

-得到1台坦克位置这个功能

-绘制坦克功能

-为坦克设置上下左右不同的四个转向

-为坦克添加按下键盘k键发射子弹

上面是面向对象的构思过程,它从按照划分的几个对象开始,逐步构建出每个对象上的属性和行为方法,这是面向对象设计的核心思想。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Liu_GuoXing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值