面向过程和面向对象???

学习了这么久的编程语言的开发,你有清楚的想过面向过程和面向对象的区别吗?

  1. 从编程语言方面出发:
    对于C语言来说,是完全面向过程的;
    对于C++语言来说,是一半面向过程,一半面向对象(C++是半面向对象的);
    对于Java语言来说,是完全面向对象的。

  2. 什么是面向过程开发方式?
    面向过程的开发方式的主要特点是:注重实现某个功能的步骤,即第一步要做什么,接着第二步做什么,直到完成整个事件的功能。另外呢,面向过程也注重实现功能之间的因果关系,比如说,因为A功能所以有B功能,因为B功能所以有C功能等等。
    面向过程的优点:
    面向过程相对于面向对象来说,性能比较高,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是其中最重要的因素。
    面向过程的缺点:
    面向过程最主要的是每一个步骤或者是每一个功能之间的因果关系,其中A步骤关系到B步骤,可以将A和B联系为一个子模块,子模块之间又因为其它的因果关系联系在一起,那么导致的最直接的影响就是其中一个模块出现了问题,那么有可能整个系统的运行都会受到影响。总的来说就是,代码和代码之间的耦合度太高,导致了代码的可扩展能力太差。

  3. 什么是面向对象开发方式?
    面向对象编程 (OOP: object-oriented programming)
    面向对象的开发方式主要是把事物给对象化,包括其属性和行为,面向对象是一种以对象为中心的编程思想,强调事件的主体和角色,面向对象编程思想其实是一种更贴近人的实际生活的思想。总体来说,面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象。
    面向对象的优点:
    由于面向对象有继承、封装和多态的特性,可以设计出低耦合度的系统,使系统更加灵活便利的扩展。
    面向对象的缺点:
    与面向过程相比,性能问题就是面向对象最大的一点缺点。

总结
面向过程是具体化的,流程化的,解决一个问题需要一个步骤接着一个步骤的进行。
面向对象是模型化的,你只需抽象出一个类,在这个类里面定义了一些数据和方法,在我们需要实现某个功能的时候,只需要利用对象来调用里面的数据和方法即可。


以上内容均为个人学习的一点心得,其中的知识点若有错误请留言提醒,若有侵权内容提醒马上删除。

猜你喜欢

转载自blog.csdn.net/pf6668/article/details/107516052