【无意中在知乎里发现的小例子】
如何大象装进冰箱?
面向过程:
为了把大象装进冰箱,需要3个过程。
1) 把冰箱门打开(得到打开门的冰箱)
2) 把大象装进去(打开门后,得到里面装着大象的冰箱)
3) 把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)
每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱。
1:
冰箱开门(冰箱)
冰箱装进(冰箱, 大象)
冰箱关门(冰箱)
==换个写法
(冰箱开门 冰箱)
(冰箱装进 冰箱 大象)
(冰箱关门 冰箱)
2:
冰箱关门(冰箱装进(冰箱开门(冰箱), 大象))
==换个写法
(冰箱关门 (冰箱装进 (冰箱开门 冰箱) 大象))
面向对象:
为了把大象装进冰箱,需要做三个动作(或者叫行为)。
每个动作有一个执行者,它就是对象。
1) 冰箱,你给我把门打开
2) 冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)
3) 冰箱,你给我把门关上
依次做这些动作,就能把大象装进冰箱。
1:
冰箱.开门()
冰箱.装进(大象)
冰箱.关门()
2:
冰箱.开门().装进(大象).关门()
作者:知乎用户
链接:https://www.zhihu.com/question/27468564/answer/36761503
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【总结】
通过这个例子以及分析一下两次做机房的感受,面向过程其实就是在完成一件事情的具体步骤不考虑人或者事物,只考虑步骤的应该进行顺序,而面向对象就是在new出来一个对象的基础上面进行操作,让这个对象进行操作。