ES6类和继承

2020-03-14  本文已影响0人  知名大学士

首先看代码

class Person {
    constructor(name){
        console.log(`构造函数执行了,${name}`)
    }
}
let p1= new Person('jona')

此处,调用new的时候就自动执行了构造函数,所以接收参数也是在构造函数出接收

class Person {
    constructor(name){
        console.log(`构造函数执行了,${name}`)
        this.name=name
    }
    showName(){
        return `名字为${this.name}`
    }
}
let p1= new Person('jona')
console.log(p1.showName)

此处函数不会自动执行,只有调用的时候才会执行console.log(p1.showName);
继承:

// 父类
class Person {
    constructor(name){
        console.log(`构造函数执行了,${name}`)
        this.name=name
    }
    showName(){
        return `名字为${this.name}`
    }
}
let p1= new Person('jona')
console.log(p1.showName)
// 子类
class children  extends Person{
    constructor(agrs){
        super(ags) 
    }
 
 showName (){
        super.showName()//调用父级的方法也是用super
    }
}
let p2 = new children('子类')
console.log(p2.name)

继承用extends,当继承后需要用super()来接收父类的constructor构造函数,否在报错,当new一个子类的时候先把参数传入子类构造函数再通过super()讲父类的构造函数引入,就可以调用父类

上一篇 下一篇

猜你喜欢

热点阅读