Skip to content

Latest commit

 

History

History
37 lines (35 loc) · 978 Bytes

7.class.md

File metadata and controls

37 lines (35 loc) · 978 Bytes

Class基本语法

es6新增了class关键字用来定义类,但其绝大部分功能,es5都能做到,所以class也可以看作只是一个语法糖。

class Point{
    constructor(x, y){
        this.x = x;
        this.y = y;
    }
    toString(){}
}

注意: 类的构造函数,不使用new是没法调用的,会报错,这点与普通的构造函数不同,后者不用new也能执行

Class继承

通过关键字extends实现继承

class coloPoint extends Point{
  constructor(x, y, color){
    super(x, y) // 调用父类的constructor,必须在使用this之前调用此 方法
  }
  toString(){
     return super.toString(); // 调用父类的方法 
  }
}

静态方法

通过给方法前加上static关键字,可以将该方法定义成静态方法

class Foo{
  static classMethod(){}
}
Foo.classMethod();
// 同时静态方法也可以被子类继承
class Bar extends Foo{}
Bar.classMethod();