编程范式 | 青训营笔记

74 阅读3分钟

对于编程者而言,编程范式是最为基础的内容,今天就跟着青训营老师,深入的学习一下关于编程范式的内容。

一、编程语言

汇编语言

汇编语言是使用字母来代替数字,方便输入,不同字母在不同的机器架构下代表不同的数值,这样提高了语言的可移植性。

高级语言

为了进一步提高了可移植性,更加贴近自然语言和人类思维,出现了编译器,编译器的出现使得高级语言转变为汇编语言进一步转变为机器语言,这样就可以在较少的源码情况下,获得较大的编译。

C/C++

C:“中级语言”,是面向过程式语言代表,将高级语言的基本结构和语句与低级语言的适用性结合

·可对位,字节,地址直接操作,这三者就是计算机最基本的数据结构单元

·代码和数据分离倡导结构化编程,使程序除必要内容外,其余保持独立

·功能齐全:数据类型和控制逻辑多样化,引入指针的概念,可以使程序效率更高

·可移植能力强

C++:面向对象语言代表,在C的基础上增加了对类的指示

.C with Classes

·继承

·权限控制

·虚函数

·多态

Lisp

Lisp:函数式语言代表

·与机器无关

.列表︰代码即数据

·闭包

JavaScript

基于原型和头等函数的多范式语言,融合的范式包括以下几种

·过程式

·面向对象

·函数式

·响应式*

二、编程范式

1、常见的编程范式

命令式和声明式

image.png 命令式主要侧重于程序员如何操作机器改变状态,过程式是把操作用过程进行分组,而面向对象则是根据操作和状态进行分组,声明式是指程序员声明所想要的结果而不是命令具体的操作,函数式通过一些列的函数组合来声明逻辑,响应式通过数据流等来声明结果

2、过程式编程

过程式的两大特点是自顶向下的程序设计和结构化的编程思想

image.png

3、面向对象编程

封装

封装就是把客观事物封装成具体的类,类数据与方法可以只让可信的类和方法操作,对不可信的进行隐藏,一个类就是封装了数据以及操作这些数据的代码逻辑形式

继承

继承可以是让某个类型的对象可以获得另一个类型对象的属性和方法,支持按级分类的概念,继承可以使用现有类的所有功能,并且在无需重写的情况下对类的功能进行扩充

多态

一个类实例的相同方法在不同的情形下有不同的表现形式,多态机制使得具有不同内部结构的对象可以共享相同的外部接口

依赖注入

依赖注入是面向对象编程的高级特性,依赖注入是指在程序运行过程中,需要对另一个对象进行使用时,无需在代码中进行创建被调用者,而是依赖于外部注入,可以降低计算机代码之间的耦合度,要借助一些类库的操作