TS——基础 抽象类 abstract

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了TS——基础 抽象类 abstract脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 关键字abstract
  2. 抽象类不允许被实例化,抽象类的存在只为了向子类服务
  3. 抽象类中包含抽象属性/方法,和普通属性/方法
  4. 被抽象的属性/方法不允许拥有具体的内容
  5. 子类如果不是抽象类,就必须将所有抽象父类的方法/属性具体化
abstract class Animal {  //定义一个抽象类
    abstract name: string  //抽象一个name属性,但是name属性不允许有值,也不允许被 constructor 赋值
    abstract eat(): void  //抽象一个方法,方法不允许有内容,只允许标注返回值类型
    run(): void {  //这是一个普通方法

    }
}
class Dog extends Animal {
    //因为Dog不是抽象类所以必须有name和eat();第5条
    /*
    只能这样赋值,不允许用constructor(name: string) {
      this.name = name
    }因为父类没有用是抽象的,没用constructor赋予具体内容
    */
    name: string = '狗'

    gender: string
    constructor(gender: string) {
        super()  //此处super中也不允许有父类的抽象属性
        this.gender = gender
    }
    eat(): void {
        console.log('狗吃饭');
    }
}
const ani: Animal = new Animal() //不允许(第2条)
const dog: Dog = new Dog('公')
console.log(dog.name);  //狗
dog.eat()

脚本宝典总结

以上是脚本宝典为你收集整理的TS——基础 抽象类 abstract全部内容,希望文章能够帮你解决TS——基础 抽象类 abstract所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: