0
点赞
收藏
分享

微信扫一扫

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

蛇发女妖 2022-01-04 阅读 80
// 自执行函数的作用是形成单独模块(块作用域),
// 防止此文件的变量或方法与其他文件的属性或方法冲突
(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();
})();
举报

相关推荐

0 条评论