什么是面向对象编程?

  • 对象是JavaScript中一个非常重要的概念,这是因为对象可以将多个相关联的数据封装到一起,更好的描述一个事物
    • 比如我们可以描述一辆车:Car,具有颜色( color )、速度( speed )、品牌( brand )、价格( price),行驶(travel )等
    • 比如我们可以描述一个人::Person,具有姓名( name )、年龄( age )、身高( height ),吃东西( eat)、跑步( run )等等;
  • 用对象来描述事物,更有利于我们将现实的事物,抽离成代码中某个数据结构
    • 所以有一些编程语言就是纯面向对象的编程语言,比Java ;
    • 你在实现任何现实抽象时都需要先创建一个类,根据类再去创建对象;
    • image.png
  • JavaScript其实支持多种编程范式的,包括函数式编程和面向对象编程

    • JavaScript中的对象被设计成一组属性的无序集合,像是一个哈希表,有key和value组成;
    • key是一个标识符名称,value可以是任意类型,也可以是其他对象或者函数类型﹔
    • 如果值是一个函数,那么我们可以称之为是对象的方法﹔

      面向对象的特性

  • 面向对象有三大特性︰封装、继承、多态

    • 封装︰我们前面将属性和方法封装到一个类中,可以称之为封装的过程;
    • 继承︰继承是面向对象中非常重要的,不仅仅可以减少重复代码的数量,也是多态前提(纯面向对象中);
    • 多态:不同的对象在执行时表现出不同的形态;

      JS原生对象

      JS原生对象