1、class 类
通过new 出来的实例,访问的属性,叫实例属性
静态属性:通过构造函数访问到属性
注意1:在class的{}区间内,只能写构造器、静态方法和静态属性、实例方法
注意2:在class关键字内部,还是原来配方实现的,所以把class关键称为语法糖
class Animal{
//每个类都有一个构造器,没有手动指定,就可以认为隐形存在空构造器,类似于constructor(){}
//构造器的作用,每当new这个类的时候,必然优先执行这个构造器的代码
constructor(name,age){
//实例属性
this.name=name
this.age=age
}//在class内部,通过static修饰的属性,就是静态属性
static info="eee"XXX=XX //实例属性
//实例方法
jiao(){
console.log("动物的实例方法")
}//静态方法
static show(){
console.log("动物的静态方法")
}
}const a1=new Animal("大黄",3)
console.log(a1)
console.log(a1.name) //实例属性
console.log(Animal.info) //静态属性
2、class 类的继承
语法:class 子类 extends 父类{}
语法规定:如果一个子类,通过extends继承了一个父类,那么,子类的constructor构造函数(显示写了)中,必须优先调用一下super()
class Dog extends Animal{
constructor(name,age,xxx){
// super是一个函数,而且是父类的构造器;子类的super,其实就是父类中constructor构造器的一个引用
super(name,age)
//语法规范:this只能放到super之后使用
this.xxx=xxx
}
}