java是一种面向对象的语言。 因为我对面向对象和面向过程不太了解,所以请看下面的内容。 可能对你有帮助:
所谓面向过程,就是分析解决问题所需的步骤,用函数逐步实现这些步骤,使用时按顺序逐个调用即可。 面向对象是将构成问题的事务分解为各个对象,制作对象的目的不是完成一个步骤,而是描述某事物在解决问题的整个步骤中的行为方式。
例如五子棋,面向过程的设计思路是首先分析问题的步骤:
1、开始游戏,
2、黑子先走
3、画画面,
4、判断输赢
5、轮到ssdh、
6、画画面,
7、判断输赢
8、返回步骤2,
9、输出最后的结果。
如果用单独的函数实现以上各步骤,问题就解决了。
面向对象的设计从另一种思路解决问题。 整个五子棋可以分为以下几类。
1、黑白双方,这双方的行为一模一样,
2、负责主板系统、画面的绘制,
3、负责规则系统,如判犯规、输等。
第一对象(玩家对象)接受用户的输入,第二对象(国际象棋对象)告知棋子的配置变化,国际象棋对象在接收到棋子变化时在画面上显示该变化,同时第三对象
显然,面向对象是按功能而不是按步骤来分类问题的。 和描绘局面一样,这种行为在面向过程的设计中分散在多个阶段,通常设计者会考虑实际情况进行各种简化,因此很可能会出现不同的描绘版本。 在面向对象的设计中,绘制只出现在板对象上,保证了绘制的统一。
功能上的统一保证了面向对象设计的可扩展性。 例如,我会加入悔恨将棋的功能。 更改面向流程的设计时,必须更改从输入到判断到显示的一系列步骤,并进行大量步骤之间的增量调整。 如果是面向对象的话,只需要变更主板对象就可以了。 棋盘系统中保存着黑白双方的棋谱,所以简单地追溯就可以了,但不需要在意表示和规则判断。 另外,对对象功能的调用顺序完全不变,变更是局部的。
到了这里,我们就清楚了面向对象和面向过程的区别。