1,编程语言:
编程语言分为许多种:有我们熟悉的c++,java等等,还有许多不是很熟悉的东西。
除此之外还有机器语言,汇编语言。
而高级语言:
graph TD
高级语言 --> 汇编语言 --> 机器语言
c++:面向对象的代表: C with Classes
多态
继承
权限控制
虚函数
Lisp:函数式语言代表
1,与机器无关
2,代码即是数据
3,闭包
JavaScript:基于原型和头等函数的多范式语言
1,过程式
2,面向对象
3,函数式
4,响应式
二,编程范式
首先是程序语言特性:1是否允许副作用
2,操作的执行顺序
3,代码组织
4,状态管理
5,语法和词法
编程范式:分为命令式和声明式
命令式分为:面向过程和面向对象
声明式:分为函数式和响应式
接着是过程式编程:是自顶而下并且是结构化编程
结构式编程是:
JS中的面向过程: 就是通过export函数进行一个一个外部变量的调用。
面向过程的缺点: 数据与算法关联弱 和不利于修改和扩充 和不利于代码重用
面向对象:封装 继承 多态 依赖注入
封装:我的理解就是把数据隐藏不给进行调用,接着就是通过外部函数进行调用和赋值啥的
继承:在无需重写的情况下进行功能的扩充
多态:Java中的多态是指通过定义一个通用的接口,使得不同类型的对象都能够使用相同的方法进行操作。这个接口可以作为参数传入方法中,从而实现不同类型的对象能够调用相同的方法。
例如,假设我们有两个类 Fruit 和 Vegetable,它们都有一个名为 eat 的方法。通过定义一个接受 Fruit 或 Vegetable 对象作为参数的方法,我们可以使用相同的方法名 eat 来处理这两个不同的对象,从而简化代码和增加可读性。
Java中的多态的实现依赖于继承和方法重写两个特性。具体来说,我们可以定义一个父类(或接口),其中包含了一些共同的属性和方法。然后,我们可以定义一些子类,这些子类通过继承父类来拥有父类的属性和方法,并且可以在子类中重写父类的方法,从而实现多态。因为所有的子类都是父类的一种形式(或者说是子类属于父类的范畴),所以可以将子类对象赋值给父类引用变量,并通过父类引用变量调用子类的方法,实现代码的通用性和灵活性。
依赖注入:不知道干什么用的懒得说概念
面向对象的五大原则 : 单一职责
开放封闭
里式替换
依赖倒置
接口分离
函数式编程等有时间再补