今天看了面向对象的分析方法,比较了一下面向对象和面向过程编程的区别,看到一个比较容易理解的例子,拿五子棋举例。
面向过程编程:编程的思路就是根据下棋的实际流程来的,开始游戏–>黑子先走–>绘制画面–>判断输赢–>轮到白子–>绘制画面–>判断输赢–>回到第二步–>输出结果。编写程序的过程就是一层层的将每个步骤实现。优点是性能相对于面向对象编程要高。(因为类的调用需要实例化,new的时候需要为对象分配内存,比较消耗资源??)
面向对象编程:可以说是以功能层面分为用户层、棋盘层、规则层。用户层就是执子的黑白双方,负责接收用户输入,然后传到棋盘层;棋盘层负责绘制画面,然后把棋局形势传给规则层;规则层用于判断棋局是否继续、是否有哪方已经胜出,然后结束游戏。面向对象编程具有封装性、多态性、(继承性,这个忘了。。)。优点是相对面向过程编程,具有易维护、易扩展的特点。