class 是用于创建对象的模板。
(在 js 中构造函数也能批量创建对象,要留神函数有申明晋升,而类没有申明晋升,必须先定义类,在创立类的实例)
定义 Animal 类。类也是一个函数。
typeof(Animal) // function
对一个类自身来说,要留神以下四点:
1、构造函数 constructor,这个函数用户在创立实例的时候传入参数。(new Animal(“Jerry”, 5))
2、办法,构造函数外部定义方法不须要 function 关键字。
3、setter、getter。setter 和 getter 都是有非凡性能的属性,定义的时候别离应用 set 关键字和 get 关键字来定义,这二者定义的模式很像函数,但它们的用法都是属性的用法 (object.key = value)
4、静态方法,在一个静态方法里调用另一个静态方法能够应用 this,这里的 this 不绑定实例, 而是绑定类自身;静态方法要用类调用,而不能用实例调用。
子类(应用 extends 创立子类)
要留神:
1、子类的 constructor 函数中如果须要应用 this,必须先执行 super() 办法初始化 this。super 初始化的参数应与父类 constructor 的参数雷同,这样创立子类实例的时候能力对应上。
2、子类中与父类的同名办法是笼罩关系,即子类办法笼罩父类办法。
3、子类与父类同名 getter 和 setter 是笼罩关系。
4、子类与父类的同名静态方法也是笼罩关系。