TypeScript - 抽象类

196 阅读1分钟

抽象类在某种程度上来说跟接口有点类似,它也是可以用来约束子类当中必须要有的某一个成员。不同的是抽象类可以包含一些具体的实现,而接口它只能够我是成员的一个抽象不包含具体的实现。一般比较大的类都建议使用抽象类,当一个类被定义成一个抽象类过后。它就只能够被继承,不能够再使用 new 的方式去创建对应的实例对象。在这种情况下就必须使用子类去继承,另外在抽象类中也可以定义一些抽象方法,需要注意的是抽象方法不需要方法体。当父类当中有抽象方法时,子类就必须要去实现这样一个方法。此时使用子类创建的对象时,就会同时拥有父类当中的一些实例方法以及自身所实现的方法。

abstract class Animal {
    eat (food: string):void {
        console.log(`呼噜呼噜的吃:${food}`)
    }
    abstract run (distance: number): void
}
class Dog extends Animal {
    run (distance:number):void {}
}