typescript中class的继承(inherit)、extends、super

// 自执行函数的作用是形成单独模块(块作用域),
// 防止此文件的变量或方法与其他文件的属性或方法冲突
(function () {
    class Animal {
        name: string;

        constructor(name: string) {
            this.name = name;
        }

        sayHello() {
            console.log(this.name);
            // 旺财
            console.log('动物在叫~');
            // 动物在叫~
        }
    }

    class Dog extends Animal {
        age: number;

        constructor(name: string, age: number) {
            // 如果在子类中写了构造函数,相当于重写了父类的构造函数。
            // 在子类构造函数中必须对父类的构造函数进行调用,
            // 否则父类的构造函数不会执行
            super(name);
            this.age = age;
        }

        sayHello() {
            // 在类的方法中super就表示当前类的父类
            super.sayHello();
            console.log('汪汪汪汪!');
            // 汪汪汪汪!
            console.log(`${this.name}${this.age}岁了。`);
            // 旺财3岁了。
        }
    }

    const dog = new Dog('旺财', 3);
    dog.sayHello();
})();
上一篇:webstorm激活码webstorm激活码最新2021专业版本永久有效


下一篇:「使用 webpack 5 从0到1搭建React + TypeScript 项目环境」3. 资源模块