首页 > 其他 > 详细

面向对象与面向过程

时间:2019-04-23 21:01:48      阅读:100      评论:0      收藏:0      [点我收藏+]

面向对象与面向过程的理解

面向过程与面向对象是两种不同的编程思想,针对的编程理念不一样,但不管是哪种语言都有这两种思想在内,在C语言中,尽管没有直接面向对象的说法,但有结构体的概念,这就是面向对象的思维解决事物。那到底什么是面向过程什么是面向对象,干了多少年的程序猿都不一定回答得上来,下面我们用通俗易懂的例子解释:

现在有个需求:我现在很饿,我要做一份午餐
需求分析:需要把饭菜从原材料做成午餐
面向过程做法:大杂烩,由原材料菜和饭一锅炖,怎么快怎么来,只追求结果,不追求好看也不追求好吃
面向过程做法:做成一桌子菜和饭,芹菜是芹菜的做法,红烧肉是红烧肉的做法,最后的结果也是做成了午餐

现在是不是有一定懵懂呢?别着急,待我解释
在面向过程的编程思想中,以结果为导向,追求过程的强逻辑化,不讲究细节,往往寻求效率最高的方式,所以最快能做出一顿午餐的方式就是大杂烩,乱炖,目的达到。
在面向对象的编程思想中,以对象为导向,追求模块化,效率不是最高的,但是维护和可拓展性却是最强的,在烧饭过程中,芹菜就是对象,肉也是对象,分别完成了烧芹菜和红烧肉这两道菜,最后和饭搭配成了午餐,目的也达到了。
回过头来看例子比较两种编程思想,面向过程烧出来的菜我再想加热给别人吃,但是人家不吃芹菜,这下麻烦了,要一点一点把芹菜全挑出去,麻烦得要死。面向对象烧出来的菜我直接不加热芹菜就好了,红烧肉拿给人家吃,方便多了。这么来讲你是不是对面向过程和面向对象有了比较好的理解呢?
接下来我们就要看在编程中,面向对象和面向过程的具体体现了:

面向对象:各种语言叫法和语法不一样,通常面向对象语言的体现就是类,类是个抽象概念,是同一种事物的抽离,比如动物,动物并不是个实际的个体,它是所有动物个体的一个抽离概念,人类的定义中:动物、植物、人、昆虫、爬行动物、脊椎动物等等等等,这些都不是你眼睛看得到的实际个体,具体到隔壁老王家的狗小黑、你手里的电脑、你桌上的口杯...这才是具象化的东西,那么这些实际的个体就是对象,老王是人类的对象,老王家的狗是狗类的对象,你手里的电脑是电脑类的对象,你桌上的口杯是杯子这个类的对象。面向对象的思想就是用不同的类去产生不同的类对象,然后用类对象去完成某些功能,最后解决问题
面向过程:解决问题的过程就一条思路走到底,寻求过程的最简化

这么来看,你是不是会有一个疑问,既然面向对象这么好怎么还会有那么多其他语言的开发者呢?

别着急,待我分析。在编程过程中,其实所有问题都可以用面向过程思维去解决,并不是说面向过程一定就不好,面向过程开发的程序是具有强逻辑性和高效率的,对于中小型项目和对性能要求高的程序,仍然需要用面向过程的编程思想去解决。在每一种编程语言中,都有基于面向过程的开发,为什么这么说呢?在面向对象编程语言中宏观层面是有面向对象思想为主导,在项目的微观层面,都是用的面向过程去解决某一个细分功能的

 

面向对象与面向过程

原文:https://www.cnblogs.com/dongxixi/p/10758870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!