【发布时间】:2014-07-12 02:49:02
【问题描述】:
这就是我想要做的。我们以类的结构接收 JSON 数据。所以我们可以这样声明一个接口:
export interface IElement {
id : number;
name : string;
}
然后类如下:
export class Element implements IElement {
id : number;
name : string;
constructor (src : IElement) {
this.id = src.id;
this.name = src.name;
}
}
然后我们将 JSON 数据转换为
但是...我想强制访问使用 getter 和 setter。所以我想做的是:
export class Element implements IElement {
private id : number;
private name : string;
constructor (src : IElement) {
this.id = src.id;
this.name = src.name;
}
getId () : number {
return this.id;
}
getName () : string{
return this.name;
}
}
以上对我来说仍然可以正常工作,因为在构造函数中我被允许访问这些变量。但是,如果将它们设置为私有,则 Element 将不再实现 IElement,因为它不履行 IElement 中的约定。
有没有办法做到这一点?如果必须,Element 不必实现 IElement,但如果它实现了,它会让生活更整洁。
【问题讨论】:
标签: interface typescript