angular中建立一个class 和一个interface有什么区别?

angular中建立一个class 和一个interface有什么区别?
把变量定义在constructor里面又有什么区别?

export class Hero {
id: number;
name: string;
}

export class Hero {
constructor(

public id: number,
public name: string) { }

}

谢谢

阅读 10.6k
4 个回答
interface Person {
    name: string;
    age: number;
}

class Zhangsan implements Person {

}
等价于
class Zhangsan {
    name: string;
    age: number;
}

大概就是interface是把公共属性和方法的提取出来,class是具体的对象

interface只是提供声明,描述你的对象大致长什么样,不能实例化
class就是描述你对象的样子

constructor(

public id: number,
public name: string) { }

会自动声明类属性id和name,并在构造函数中自动赋值

interface是接口,是用来规范class的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进