Typescript 如何使属性成为私有接口?
我已声明接口:Typescript 如何使属性成为私有接口?,typescript,oop,Typescript,Oop,我已声明接口: interface IMenu { name: string; url: string; } 以及实现此交互的类: class Menu implements IMenu { public name; public url; } 例如,接口中的属性总是公共的,这意味着实现此接口的类必须包含公共属性。是否可以将它们设置为受保护的或私有的?无法做到这一点。接口实现必须是公共的(有些语言允许一些隐藏,比如带有显式接口实现的C#,但实现的属性仍然可以从
interface IMenu {
name: string;
url: string;
}
以及实现此交互的类:
class Menu implements IMenu {
public name;
public url;
}
例如,接口中的属性总是公共的,这意味着实现此接口的类必须包含公共属性。是否可以将它们设置为受保护的或私有的?无法做到这一点。接口实现必须是公共的(有些语言允许一些隐藏,比如带有显式接口实现的C#,但实现的属性仍然可以从类外部访问) 您可以从类的Private/Protected接口为make Public变量定义Getter和Setter。
interface IMenu {
name: string;
url: string;
}
class Menu implements IMenu {
private _name: string;
private _url: string;
constructor() {
_name = "name";
_url = "url";
}
get name(){
// your implementation to expose name
}
set name(value){
// your implementation to set name
}
}