首先先说面向过程,什么是面向过程?

  面向过程很好理解,重点就是过程两个,将一个问题流程化,比如你说想煮饭,这是你的目的,那你就会自然而然想到要通过哪些步骤去实现这个目标,淘米,打开电饭煲,启动,开始煮,这就是面向过程。

而什么是面向对象?

  按我个人的理解,面向对象就是将一个问题出现的角色独立出来,然后通过通信的目的达到最终的目的。

  面向对象相对于面向过程抽象的多,最主要的就是思想上的改变,在面向过程中,我们头脑首当其冲的就是类似流程图的东西,而在面向对象中,出现的是类似于对象关系图的东西。

我们来聊聊他们的优缺点,面向过程比面向对象容易理解的多,为什么还要使用面向对象?

  面向过程的优点,因为我们注重的就是目的,以及通过哪些步骤去实现这个目标,因此开发速度快,效率高。但也有相应的缺点,那就是重用性低,维护起来难度高,一旦用户的需求发生变化,在扩展改变功能时时完全可能牵一发而动全身

  面向对象的优点:当我们把问题的角色独立出来时,可读性会变的比较高,结构清晰,扩展功能时针对某个角色进行扩展改变就可以,而不会像面向过程一样各部分冗杂在一起,可扩展性和可维护性就会相应的提高。但也就出现相应的缺点,开发效率低,面向对象过于抽象,对事物的封装导致其复杂度高

  至于具体的选择要根据实际需求,毕竟需求决定一切,其次要根据个人能力来决定

我们日常习惯的面向过程思想要怎么面向对象转变呢?

  当我们习惯了面向过程编程时,发现在程序过程中到处找不到需要面向对象的地方,最主要的原因,是思维没有转变。程序员通常在拿到一个需求的时候,第一个反应就是如何实现这个需求,这是典型的面向过程的思维过程,而且很快可能就实现了它。而面向对象,面对的却是客体,第一步不是考虑如何实现需求,而是进行需求分析,就是根据需求找到其中的角色,再找到这角色之间的联系。因此面向过程和面向对象的思维转变的关键点,就是在第一步设计,拿到需求后,一定先不要考虑如何实现它,而是去对他们进行分类,分类出各个角色,考虑他们的关系,这种思路的转变,需要一定过程。 

posted on 2019-05-20 21:53  Gavinn  阅读(157)  评论(0编辑  收藏  举报