我刚刚在TypeScript 0.9.5中启动了一个新项目,以下代码引发了错误:
类服务声明了IService,但没有实现它。属性为“私有”的属性“getUserInfo”在IService上定义为public
module App.Interfaces {
export interface IService {
getUserInfo(): void;
}
}
module App.Services {
export class Service implements App.Interfaces.IService {
private getUserInfo(): void { }
}
}
只要我使用TypeScript,我知道接口不能有访问修饰符!是什么给了什么?
答案 0 :(得分:7)
您在private
类的getUserInfo
函数上不能拥有Service
访问修饰符,因为它在接口IService
上声明。
如果该类是IService
,则需要公开声明的接口的函数/属性全部。
module App.Services {
export class Service implements App.Interfaces.IService {
/* private <= remove */ getUserInfo(): void { }
}
}