面向过程:
以坦克飞机大战为例,如果按面向过程的思路去书写代码,则需要按如下顺序进行编码:
- 游戏初始化
- 确定一台坦克的位置
- 绘制坦克
- 确定多架飞机的位置
- 绘制飞机
- 为坦克设置上下左右四个转向
- 为坦克添加按下键盘k键发射子弹
- 为所有飞机添加发射子弹功能
- 检查坦克发射的子弹是否击中飞机,若击中,飞机从画面中消失
- 检查检查飞机发射的子弹是否击中坦克,若击中,坦克从画面中消失,游戏结束
- 若所有飞机都被歼灭,玩家胜利,闯关结束
对应代码:
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键发射子弹
上面是面向对象的构思过程,它从按照划分的几个对象开始,逐步构建出每个对象上的属性和行为方法,这是面向对象设计的核心思想。