编程范式

80 阅读3分钟

1,编程语言:

编程语言分为许多种:有我们熟悉的c++,java等等,还有许多不是很熟悉的东西。

除此之外还有机器语言,汇编语言。

而高级语言:

graph TD
高级语言 --> 汇编语言 --> 机器语言

c++:面向对象的代表: C with Classes

多态

继承

权限控制

虚函数

Lisp:函数式语言代表

1,与机器无关

2,代码即是数据

3,闭包

JavaScript:基于原型和头等函数的多范式语言

1,过程式

2,面向对象

3,函数式

4,响应式

二,编程范式

首先是程序语言特性:1是否允许副作用

2,操作的执行顺序

3,代码组织

4,状态管理

5,语法和词法

编程范式:分为命令式和声明式

命令式分为:面向过程和面向对象

声明式:分为函数式和响应式

接着是过程式编程:是自顶而下并且是结构化编程

image.png

结构式编程是:

image.png

JS中的面向过程: 就是通过export函数进行一个一个外部变量的调用。

面向过程的缺点: 数据与算法关联弱 和不利于修改和扩充 和不利于代码重用

面向对象:封装 继承 多态 依赖注入

封装:我的理解就是把数据隐藏不给进行调用,接着就是通过外部函数进行调用和赋值啥的

继承:在无需重写的情况下进行功能的扩充

多态:Java中的多态是指通过定义一个通用的接口,使得不同类型的对象都能够使用相同的方法进行操作。这个接口可以作为参数传入方法中,从而实现不同类型的对象能够调用相同的方法。

例如,假设我们有两个类 Fruit 和 Vegetable,它们都有一个名为 eat 的方法。通过定义一个接受 Fruit 或 Vegetable 对象作为参数的方法,我们可以使用相同的方法名 eat 来处理这两个不同的对象,从而简化代码和增加可读性。

Java中的多态的实现依赖于继承和方法重写两个特性。具体来说,我们可以定义一个父类(或接口),其中包含了一些共同的属性和方法。然后,我们可以定义一些子类,这些子类通过继承父类来拥有父类的属性和方法,并且可以在子类中重写父类的方法,从而实现多态。因为所有的子类都是父类的一种形式(或者说是子类属于父类的范畴),所以可以将子类对象赋值给父类引用变量,并通过父类引用变量调用子类的方法,实现代码的通用性和灵活性。

依赖注入:不知道干什么用的懒得说概念

面向对象的五大原则 : 单一职责

开放封闭

里式替换

依赖倒置

接口分离

函数式编程等有时间再补