一.面向过程编程
1.定义
面向过程是一种以过程为中心的编程思想。分析出解决问题所需的步骤,然后用函数把这些步骤一步步实现,使用的时候一个个调用就可以了。
C语言就是面向过程编程
2.特性
模块化(封装成函数)、流程化(一步一步实现完成)
面向过程最重要的是模块化的思想方法。比如学生早上起来上学的过程说明,将过程粗略的拟为:
- 起床
- 穿衣
- 洗脸刷牙
- 去学校
面向过程就是四个步骤按照这个顺序一个一个的完成;而面向对象是,只抽象出一个学生的类,它包括这四个方法,但是具体的顺序就不是固定的。
3.优缺点
优点:性能高于面向过程。因为类调用时需要实例化,开销比较大,比较消耗资源;单片机、嵌入式开发、Linux/Unix等一般采用卖你想过程开发,性能是最重要的因素
缺点:不易维护、服用、扩展
二.函数式编程
函数式编程是种编程方式,它将电脑运算视为函数的计算。
函数编程语言最重要的基础是λ 演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。
主要思想: 把运算过程尽量写成一系列嵌套的函数调用
三.面向对象编程
1.定义
面向对象是一种按人们认识客观世界的系统思维方式,把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤的行为。
c++,Java,Python均是面向对象编程
2.特性
抽象、封装、继承、多态
3.优缺点
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点:性能比面向对象低