Java是纯面向对象,“面向对象”和“面向过程”有什么区别?

写这篇文章之前,我推荐下自己创的一个交流裙,每天群内直播分享课!我是一名从事了5年java开发的全栈工程师,目前在做线上教育讲师,年初整理了一份最适合2018年学习的java干货,有想要学习Java的同学,关注小编头条号,私信【学习】即可免费领取本文一整套系统的Java学习教程!

面向过程:

面向过程聚焦每一步操作,第一步操作,第二步操作……第n步操作,按照一系列具体的操作过程完成一件事。这就是面向过程。

举例:办手续,你要先去A部门盖章签字,接着完了才能去B部门,接着去C部门……一套下来完整的流程才能把手续办理完。

面相对象:

举例:假如要造一辆汽车,如果按照面向过程的思想,那就要想好造一辆汽车的所有细节,先造什么后造什么,显然这样做实在太复杂了,一个人根本干不过来。接着面向对象思想就诞生了,我先想好一辆车由哪几部分组成,比如车由轮胎,玻璃,发动机……等等组成,那么我就把造轮胎这件事交给专门生产轮胎的公司负责,同理玻璃,发动机也一样交给专门生产这些产品的公司。最后生产好以后,你只要把这些器件组装一下就OK了。看上去你好像什么事都没干,但是其实你完成了造一辆汽车的宏观把控,至于具体每个部件的生产细节你完全不用考虑,交给响应公司或者部门就行了。

个人见解:造成面向过程和面向对象区别的很大原因在于一个是否合作。一个人做一件事,往往第一反应是完成这件事需要哪些操作以及这些操作的先后次序是什么。一个团队做一件事,往往考虑的是给团队中每个人分配什么样的任务,至于完成每个任务的具体细节只需要被分配任务的那个人去考虑,与其他人无关,当然具体到每个人完成每个具体任务也可以看成是面向过程的思想,但是宏观上还是面向对象的思想。

最后总结:面向对象往往只在宏观上表现为面向对象,但是要是具体到每个细节,依然是面向过程。就像Java语言,说是纯面向对象,但其实只是把大部分面向过程的细节给你屏蔽了,比如类库中你去看他们源码,依然是面向过程思想。

资料获取方式,关注小编,私信【学习】手机用户可以直接私信,电脑端尚未开放此功能,还需下载app,然后私信回复:学习 我已经设置了自动回复,具体后续会自动回复各位。