前言

重点

  • 理解面向对象是啥

参考资料

  • 知乎 - 2分钟让你明白什么是面向对象编程:链接

    notes

  • 为啥要学习面向对象?

  • 面向对象是啥?

为什么要介绍面向对象?


  1. TS 为前端面向对象开发带来了契机

JS 语言没有类型检查,如果使用面向对象的方式开发,会产生大量的接口,大量的接口会导致调用复杂度剧增。

这种复杂度必须通过严格的类型检查来避免错误。尽管可以使用注释、文档,或是凭借记忆里来缓解该问题,但是这些做法都是没有强约束力的。

TS 的出现,解决了 JS 语言没有类型检查的问题,为前端面向对象开发提供了契机。

  1. 面向对象中有许多非常成熟的模式,能处理复杂问题

过去很多年中,在大型应用或复杂领域,面向对象已经积累了非常多的经验。

nestjs:相当于前端的 java spring typeorm:ORM 框架,比如:mongoose(类似于 C# 中的 EF)

后端的很多大框架,都在朝着面向对象开发的方向走; 随着前端项目的复杂度不断增加,也很有可能会采用面向对象开发的方式来实现前端应用;

什么是面向对象?

面向对象是一种编程思想,常见的编程思想还包括:面向过程、面向函数。

面向对象
以划分类为思考切入点
面向对象,Oriented(基于) Object(事物),简称 OO
它提出一切以对象为切入点思考问题。

面向过程
以功能流程为思考切入点
不适合大型项目
绝大部分前端开发者,都是倾向于面向过程做开发的

函数式编程
以数学运算为思考切入点

🤔 学开发最重要的是什么? 思维 —— 针对某类具体问题,我们所能给出的实现方案。 写游戏,特别锻炼思维。。。 —— 袁老

类是什么?

  • 类是可以产生对象的模板
  • 类是面向对象开发最小的功能单元

人(类)
静态属性:鼻子、眼睛、四肢、性别。。。
动态属性:吃放、睡觉、打豆豆。。。

  1. const p1 = new 人();
  2. const p2 = new 人();