Skip to content

抽象类

typescript
abstract class Animal {
    name: string
    age: number

    constructor(name: string, age: number) {
        this.name = name
        this.age = age
    }

    // 抽象方法用abstract关键字,没有方法体,子类必须实现
    abstract sayHello(): void
}

class Dog extends Animal {
    weight: number

    constructor(name: string, age: number, weight: number) {
        // 调用父类构造方法
        super(name, age)
        this.weight = weight
    }


    run() {
        console.log(`${this.name}在跑`)
    }

    // 实现抽象方法
    sayHello() {
        // 通过super关键字调用父类方法
        console.log(`${this.name}:汪汪汪`)
    }
}

请勿转载