【TypeScript教程】# 12:抽象类

说明

尚硅谷TypeScript教程(李立超老师TS新课)学习笔记。

抽象类

以 abstract 开头的类是抽象类,抽象类和其他类区别不大,只是不能用来创建对象,抽象类就是专门用来被继承的类

抽象方法:

  • 抽象方法使用 abstract 开头,没有方法体
  • 抽象方法只能定义在抽象类中,子类必须对抽象方法进行重写

例子

(function() {
    
    
    // 父类
    abstract class Animal {
    
    
        name: string;
    
        constructor(name: string) {
    
    
            this.name = name;
        }
        // 定义一个抽象方法
        abstract sayHello():void;
    }
    // 使Dog类继承Animal类
    class Dog extends Animal{
    
    
        sayHello() {
    
    
            console.log(`${
      
      this.name}汪汪汪`);
        }
    }
    class Cat extends Animal{
    
     // 非抽象类“Cat”不会实现继承自“Animal”类的抽象成员“sayHello”。
        sayHello() {
    
    
            console.log(`${
      
      this.name}喵喵`);
        }
    }

    const dog = new Dog("小黄");
    console.log(dog);
    dog.sayHello();

    // console.log(new Animal); // 无法创建抽象类的实例。
})()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kaimo313/article/details/127139422