首页 > 解决方案 > 如果您在 Typescript 中有一个类的接口,是否有任何理由使用构造函数?

问题描述

就像标题所说的那样,如果我的类已经实现了一个接口,我还有什么理由应该有一个构造函数?在我看来,它是重复的代码。

interface PersonInterface  {
    firstname: string;
    lastname: string;
    email: string;
}

class Person implements PersonInterface {

    firstname = "John";
    lastname = "Johnsson";
    email = "John.jonson@mail.com"

    PrintPerson() {
        console.log(`${this.firstname}, ${this.lastname}, ${this.email}`)
    }
}

标签: javascripttypescript

解决方案


你的Person类有一个构造函数,它只是为你生成的。(它将这些值分配给公共属性。)除非你需要做一些生成的构造函数不会为你做的事情,否则没有理由有一个明确的。

(但这与实现接口无关。如果您的类没有implements PersonInterface. 也是如此。您实现接口的事实与您是否需要构造函数无关。)


推荐阅读