面向对象与面向过程的区别
内容基于https://blog.csdn.net/bieleyang/article/details/78330362
感谢@bieleyang
例子:(写一个五子棋双人对战的代码)
面向过程:
分九个步骤
1.开始游戏
2.黑子先手
3.绘制画面
4.判断输赢
5.白子后手
6.绘制画面
7.判断输赢
8.返回步骤2
9.输出最后结果
把上面的步骤用不同的方法实现
面向对象:
3个对象
1.玩家系统:黑白双方,两方行为是一模一样的
2.棋盘系统:负责绘制游戏画面
3.规则系统:负责判断犯规、输赢等 第一类对象(玩家系统)用来接收玩家的输入,并将其传入第二类对象(棋盘对象),绘制棋局,并传入第三类对象规则系统,对棋局进行判定
引用“可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了多个步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。”

浙公网安备 33010602011771号