1.整体认识:面向对象和函数式编程都是一种编程范式/一种编程的思维方法.
2.分别来讲:
- (1)面向对象编程(思想最早出现于Simula语言,Smalltalk基本实现其语法.)
- 概念:所谓面向对象编程,指的是在编程的时候以对象为单位进行封装
- 面向对象编程方式的三大/四大特性
- 封装:将代码抽成一个对象,封装在一个对象,将很多对象封装到一个类中
- 继承:共同的属性抽取到父类中,子类只要继承父类,就可以拥有父类的属性,
- 作用1:减少重复代码
- 作用2:是多态的前提
- 继承:共同的属性抽取到父类中,子类只要继承父类,就可以拥有父类的属性,
- 多态:不同的对象在不同状态下表现出的不同的形态.
- 抽象:将业务逻辑抽象成一个个的对象
- 封装:将代码抽成一个对象,封装在一个对象,将很多对象封装到一个类中
-
- (2)函数式编程(来源于Lisp语言)
- 概念:函数式编程指的是编程的时候以函数为单位进行封装,函数行为代替各种操作.
- 函数式编程的特点
- 函数作为头等公民,可以作为参数传来传去等.
- 纯函数,拒绝副作用(赋值/修改全局变量的值)。
- 3.总的来说,二者可以同时存在,很多语言包括JS都支持多范式编程.