ES6——类(class)

88 阅读2分钟

定义:

  • 在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类
  • class 的本质是 function。
  • 它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。
  • 类不可重复声明
  • 类定义不会被提升,这意味着必须在访问前对类进行定义,否则就会报错

类定义:类名一定要大写开头

1.命名类:

calss Person(这里的Person就是一个类名){}

2.匿名类:

 let sm=class{}

类的主体:

属性:ES6的类中不能直接定义变量,变量被定义在constructor中

方法:

1.constructor(){}方法是类的默认方法,创建类的对象时被调用。也被称为类的构造方法(构造函数、构造器)。一个类中有且仅有一个构造方法。

2.原型方法(自定义方法):不需要使用function关键字,通过“对象.原型方法”调用。

3.静态方法:使用static修饰,调用时不需要创建对象,直接通过“类名.静态方法”调用

image.png

image.png

提醒

1.static a=20:代表不是给变量赋值,给类添加静态属性

2.a=20:给实例对象添加属性

类的继承:

1.减少代码的重复使用

2.子类可以继承父类中的所有方法和属性

3.使用extends关键字实现继承

4.子类只能继承一个父类,一个父类可以被多个子类继承

  1. 子类的构造方法中必须有super() 来指定调用父类的构造方法,并且位于子类构造方法中的第一行

6.子类中如果有与父类相同的方法和属性,将会优先使用子类的(覆盖)

image.png

image.png

内部类:属于外部类的成员,必须通过“外部类.内部类”访问

image.png

image.png