微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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();
})();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐