这个问题刚刚出现在我的脑海中,但我想在打字稿中以某种方式私有化......所以这就是发生的事情
在我的文件夹Typescript / circle / circle.ts中我有:
class Circle {
PI:number = 3.14;
radius:number = 0;
constructor(public radiusInput:number){
this.radius = radiusInput
}
getArea(){
return this.PI*(this.radius*this.radius);
}
getCircumfrance(){
return this.PI*2*this.radius;
}
}
var fourCircle:Circle = new Circle(5);
现在当我转到我的其他文件夹Typescript / enums / enums.ts时,我可以实际创建一个Circle类的实例。我不想那样..我想以某种方式使Circle类私有。你是如何用打字稿实现的?
答案 0 :(得分:2)
将您的班级(和其他类型)包裹在modules中。这是文件中类型的逻辑组织。现在,您无法从外部文件中引用它,除非您将export
关键字添加到类定义中。 module
与c#中的namespace
非常相似。
module MyTypes {
class Circle {
PI:number = 3.14;
radius:number = 0;
constructor(public radiusInput:number){
this.radius = radiusInput
}
getArea(){
return this.PI*(this.radius*this.radius);
}
getCircumfrance(){
return this.PI*2*this.radius;
}
}
}