12 面向对象与面向过程的区别(初窥)
前提
完成一件事情通常由很多步骤
面向对象
把某些步骤里面共同的行为抽象出一个类,每次需要使用这个行为的时候就直接调用这个类好了.
面向过程
按照事情的步骤用函数写出来,然后一步步的按照先后顺序实现,最后使用的时候依次调用就行.
举例说明
1.完成一个编程题目,需要经过以下步骤:
第一步:看题目
第二步:思考
第三步:若思考时间大于30分钟,进入循环环节,若小于30分钟问题已经解决
第四步:询问室友,若给答复进入第二步,否则进入下一步
第五步:询问同学A,若给答复进入第二步,否则进入下一步
第六步:询问同学B,若给答复就进入第二步,否则进入下一步
..........
第n步:询问老师,得到答复,进入第二步
2.用面向过程实现
与1中步骤一致
3.用面向对象实现
从1的步骤可知,询问题目的对象可以是室友、同学A、同学B.....老师
因为解答问题的人之间有相同的行为,都是为了回答问题,所以可以抽象一个解答者类,这个类来代表解答问题的人,
调用类中方法的不同(代表不同类型的问题解答者),若类中方法返回的结果是true,则进入第二步