面向对象&面向过程

         在看ULM视频中再次提到了面向对象技术,之前只是耳闻面向过程,现在又来了个面向对象。看到面向对象时马上想到了面向过程,那么他们之间联系是什么?区别是什么?各自的特点是什么?

         好的既然问题来了,那么就解决它。怎么解决呢?不要忘了联系具有普遍性之前了解过面向过程一些基础,看来只能从这里下手了。下面先把面向过程和面向对象概念列举出来方便我们来找共性。

面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个一次调用就可以了。面向过程是一种以事件为中心的编程思想。


面向过程眼里的世界:世界的一切都是相互紧密联系在一起的,缺一不可,相互影响,相互作用形成一个严格的系统。

分析方法:面向过程的分析方法是找到过程的起点,然后顺藤摸瓜,分析每一个部分,直至达到过程的终点。这个过程中的每一个部分都是过程链上可不分割的一环。

例子1

比如说你今天中午想吃韭菜盒子,你需要找来面、韭菜、鸡蛋、然后自己一点点动手做,然后再放入平底锅慢慢烘烤。这个过程可以理解为“面向过程”

这个过程中缺少一个都不能得到你想要的韭菜盒子。

巧妇难为无米之炊还是能够比较形象的解释面向过程

面向过程的关键就是函数、过程、数据、算法。以C为代表。


面向对象:所谓的面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。

面向对象是以功能来划分问题。

       当出现四个对象 面、韭菜、鸡蛋、平底锅。 (基于对象概念、对象为中心) 实体成 韭菜盒子(构造机制) 重点就不在是如何做成韭菜盒子了而是将这四个对象抽象出韭菜盒子就OK了。  

例子2

       面向过程其实是最为实际的一种思考方式,就是算面向对象的方法也是含有面向过程的思想.可以说面向过程是一种基础的方法.它考虑的是实际的实现.一般的面向过程是从上往下步步求精.所以面向过程最重要的是模块化的思想方法.对比较面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为.当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织.比如拿学生早上起来的事情来说说这种面向过程吧.粗略的可以将过程拟为:
  (1)起床
  (2)穿衣
  (3)洗脸刷牙
  (4)去学校
  而这4步就是一步一步的完成,它的顺序很重要,你只须一个一个的实现就行了.而如果是用面向对象的方法的话,可能就只抽象出一个学生的类,它包括这四个方法,但是具体的顺序就不能体现出来.

今天和同学去食堂吃放,同学呢想吃馅饼。但是因为老板家的馅饼生意做得太好了,需要排队等候。于是乎同学跟老板说:”老板来三个馅饼,做好了喊我就成了。“

这里面有面向过程和面向对象。可见面向过程和面向对象在我们的生活中比比皆是。


总结:最根本的区别是思维方式截然不同。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值