class是一个创建对象的模板。(js中的构造函数也可以批量创建对象,需要注意的是函数有声明提升,类没有声明提升,必须先定义类,创建类的实例)定义Animal类。一个类也是一个函数。typeof(Animal)//function对于一个类本身,需要注意以下四点:1.构造函数,函数用户在创建实例时传入参数。(newAnimal("Jerry",5))2.方法,构造函数内部定义的方法不需要function关键字。3.二传手,吸气手。setter和getter都是具有特殊功能的属性。它们分别使用set关键字和get关键字定义。两者的定义形式很像一个函数,只不过它们的用法是属性的用法(object.key=value)4.静态方法,可以在一个静态方法中使用this调用另一个静态方法。这里的this并没有绑定到实例,而是绑定到类本身;静态方法必须用类调用,而不是实例。子类(使用extends创建子类)要注意:1.如果需要在子类的构造函数中使用this,必须先执行super()方法初始化this。super初始化的参数要和父类构造函数的参数一致,这样在创建子类实例的时候才能对应。2、子类中与父类同名的方法是重写关系,即子类的方法重写父类的方法。3、子类的getter和setter与父类的同名是重写关系。4、子类与父类之间的同名静态方法也是一种重写关系。
