一.面向过程编程
1.面向过程编程
“**面向过程**”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。
(1)面向对象编程的特性:模块化、流程化
(2)面向对象编程的优点:性能比面向对象高, 因为类调用时需要实例化,开销比较大,比较消耗资源;单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
(3)面向对象编程的缺点:没有面向对象易维护、易复用、易扩展。
二.函数式编程
**函数式编程**是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。主要思想: 把运算过程尽量写成一系列嵌套的函数调用。
三.面向对象编程
**面向对象**是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。
(1)面向对象编程的特性:抽象、封装、继承、多态
(2)面向对象编程的优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合 的系统,使系统更加灵活、更加易于维护。
(3)面向对象编程的缺点:性能比面向过程低。