将 class 设为私有?
Making class private?
这个问题突然出现在我的脑海中,但我想在 typescript 中以某种方式将 classes 设为私有...这就是正在发生的事情
在我的文件夹 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 class 的实例。我不想要那个.. 我想以某种方式将 Circle class 设为私有。你如何在打字稿中实现这一点?
将您的 class(和其他类型)包裹在 modules 中。这是文件中类型的逻辑组织。现在您不能从外部文件引用它,除非您将 export
关键字添加到 class 定义中。 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;
}
}
}
这个问题突然出现在我的脑海中,但我想在 typescript 中以某种方式将 classes 设为私有...这就是正在发生的事情
在我的文件夹 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 class 的实例。我不想要那个.. 我想以某种方式将 Circle class 设为私有。你如何在打字稿中实现这一点?
将您的 class(和其他类型)包裹在 modules 中。这是文件中类型的逻辑组织。现在您不能从外部文件引用它,除非您将 export
关键字添加到 class 定义中。 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;
}
}
}