// 自执行函数的作用是形成单独模块(块作用域), // 防止此文件的变量或方法与其他文件的属性或方法冲突 (function () { // 以abstract开头的类是抽象类, // 抽象类和其他类区别不大,只是不能用来创建对象, // 也就是不能new Animal()的意思。 // 抽象类就是专门用来被继承的类 // 抽象类中可以添加抽象方法 abstract class Animal { name: string; constructor(name: string) { this.name = name; } // 定义一个抽象方法 // 抽象方法使用abstract开头,没有方法体 // 抽象方法只能定义在抽象类中,子类必须对抽象方法进行重写 // void没有返回值(返回值为空) abstract sayHello(): void; } class Dog extends Animal { sayHello() { console.log('汪汪汪汪!'); } } // 非抽象类“Cat”不会实现继承自“Animal”类的抽象成员“sayHello”。 class Cat extends Animal { // sayHello() { // console.log('喵喵喵喵!'); // } } const dog = new Dog('旺财'); const cat = new Cat('喵喵'); dog.sayHello(); cat.sayHello(); })();
typescript中abstractClass(抽象类)、extends、abstract
关注
打赏