“面向对象"和"面向过程"到底有什么区别?通俗易懂举例说明

来源:互联网 发布:java object类常用方法 编辑:程序博客网 时间:2024/06/10 23:33

如何大象装进冰箱?
面向过程:
为了把大象装进冰箱,需要3个过程。
1) 把冰箱门打开(得到打开门的冰箱)
2) 把大象装进去(打开门后,得到里面装着大象的冰箱)
3) 把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)
每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱。

1:
冰箱开门(冰箱)
冰箱装进(冰箱, 大象)
冰箱关门(冰箱)
==换个写法
(冰箱开门 冰箱)
(冰箱装进 冰箱 大象)
(冰箱关门 冰箱)
2:
冰箱关门(冰箱装进(冰箱开门(冰箱), 大象))
==换个写法
(冰箱关门 (冰箱装进 (冰箱开门 冰箱) 大象))

面向对象:
为了把大象装进冰箱,需要做三个动作(或者叫行为)。
每个动作有一个执行者,它就是对象。
1) 冰箱,你给我把门打开
2) 冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)
3) 冰箱,你给我把门关上
依次做这些动作,就能把大象装进冰箱。

1:
冰箱.开门()
冰箱.装进(大象)
冰箱.关门()
2:
冰箱.开门().
装进(大象).
关门()

作者:王逢琛
链接:https://www.zhihu.com/question/27468564/answer/36761503
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原创粉丝点击