es6中的类 和继承
es6中的类 和继承
class Person{
static address = '地球';
constructor(name,age){
this.name = name;
this.age = age;
this.showAge = function(){
console.log(111);
console.log(this.name);
}
}
showName = ()=>{
console.log(this.name);
}
showName(){
console.log(this.name);
}
};
//如果不需要传值可以将 constructor省略掉如下
class Person{
type="学生"
showType = ()=>{
console.log(this.type)
}
};
const p1 = new Person('张三',33);
console.log(p1);
console.log(Person.address);
class Man extends Person{
constructor(sex,name,age){
super(name,age);
this.sex = sex;
}
};
constructor 为这个类的构造函数,它里面的属性和方法 就是new 出来的对象的实例属性和方法一般情况下只在constructor 中写属性 ,方法一般写在 和constructor 同级且是挂载在原型上
需要注意的是:
和constructor 同级的方法 有两种写法
1.直接写 方法名(){},这种是挂载原型上的
2.方法名=()=>{}; 这种还是挂在实例身上 如果 constructor 中的方法名和这里的名字一样,会以constructor 中的方法为准
3.如果不需要传值可以将 constructor省略掉,但是有时需要初始化属性传参时就需要写上constructor ,这里可以进行传参
继承
需要用 extends关键字 来继承父类
需要注意的是 需要在子类的 constructor 中 写上super()关键字,这里的super就可以理解为调用父类的constructor ,所以里面会传一些和父类相同的参数,而且必须写在最前面
静态属性
用关键字 static 声明 如 static age=33;
通过过static 声明的静态属性和方法无法通过 实例来访问,且不能被继承
只能通过 类.静态属性名来访问

浙公网安备 33010602011771号