转自 https://blog.csdn.net/weixin_43871678/article/details/124617216
编程范式有以下三种:
1、面向对象编程
2、面向过程编程
3、面向函数编程
区别:
面向对象编程最大的特点是:以类、对象作为组织代码的单元以及它的四大特性。
面向过程编程最大的特点是:以函数作为组织代码的单元,数据与方法相分离。
函数式编程跟面向过程编程一样,也是以函数作为组织代码的单元。
不过,它跟面向过程编程的区别在于,它的函数是无状态的。
何为无状态?
简单点讲就是,函数内部涉及的变量都是局部变量,
不会像面向对象编程那样,共享类成员变量,
也不会像面向过程编程那样,共享全局变量。
函数的执行结果只与入参有关,跟其他任何外部变量无关。
同样的入参,不管怎么执行,得到的结果都是一样的。
这实际上就是数学函数或数学表达式的基本要求。
总结:
不同的编程范式之间并不是截然不同的,总是有一些相同的编程规则。
比如,不管是面向过程、面向对象还是函数式编程,它们都有变量、函数的概念,
最顶层都要有 main 函数执行入口,来组装编程单元(类、函数等)。
只不过,面向对象的编程单元是类或对象,面向过程的编程单元是函数,函数式编程的编程单元是无状态函数。
也有说五种的:
https://zhuanlan.zhihu.com/p/461190812