面向对象和面向过程
用五子棋游戏来解释
面对过程
1)五子棋游戏的过程拆分为一下步骤
2)开始游戏
3)绘制棋盘画面
4)落黑子
5)绘制棋盘落子的画面
6)判断输赢:赢则结束游戏,输则向下执行
7)落白子
8)绘制棋盘落子的画面
9)判断输赢:赢则结束游戏,否则返回步骤2)
以上的每个步骤都可以封装为一个函数,按以上步骤逐个调用函数,可以实现五子棋游戏。
面向对象
五子棋游戏以空白棋盘开局,
-
由执黑子的玩家优先在空棋盘上落子,执白子的玩家随后落子,如此黑白 玩家交替落子,
-
棋盘实时更新游戏画面,
-
规则系统判断棋盘的输赢情况。
根据以上分析可知,五子棋游戏中可以提炼3类对象:玩家,棋盘和规则系统
玩家:黑白双方,负责决定落子位置
棋盘:负责绘制当前游戏的画面,向玩家反馈棋盘的状况
规则系统:负责判断游戏的输赢
因此我们可以将玩家,棋盘,规则系统都封装成各自的类,再写入它们的方法。之后就通过创建类的对象来调用方法。
总结
那么,在这里我给出我自己的定义,什么是面向过程?什么是面向对象?
面向过程:就是将事情的整个过程拆分成多个过程,并且封住成各个函数,在执行事件的时候就逐个调用函数。
面向对象:就是将事情的里所有事物都抽象成对象,将对象的行为封装成函数,通过创建对象来调用函数
这文章是来自课本,上传这个案例是怕我会对这两个概念犯糊涂。
真心觉得这个案例是帮助我理解最通透的一个