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

内容基于https://blog.csdn.net/bieleyang/article/details/78330362

感谢@bieleyang

 例子:(写一个五子棋双人对战的代码)

面向过程:

分九个步骤

1.开始游戏

2.黑子先手

3.绘制画面

4.判断输赢

5.白子后手

6.绘制画面

7.判断输赢

8.返回步骤2

9.输出最后结果

把上面的步骤用不同的方法实现

 

面向对象:

3个对象

1.玩家系统:黑白双方,两方行为是一模一样的

2.棋盘系统:负责绘制游戏画面

3.规则系统:负责判断犯规、输赢等 第一类对象(玩家系统)用来接收玩家的输入,并将其传入第二类对象(棋盘对象),绘制棋局,并传入第三类对象规则系统,对棋局进行判定

引用“可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了多个步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。”

 

posted @ 2021-01-16 22:07  学术废物  阅读(79)  评论(0)    收藏  举报