当我尝试更改接口上的访问限制器时,打字稿发出错误。 “无法出现在类型成员中。” 我删除了接口上的访问限制器,然后实现了接口。 并尝试更改类的访问限制器。
interface car {
private speed: number;
}
这不起作用。
interface car {
speed: number;
}
这可行。
class MyCar implements car {
private speed: number;
}
这不起作用。
class MyCar implements car {
public speed: number;
}
这可行。
接口不能具有访问限制器? 要么 无法实现的接口在类上没有访问限制器?私人还是受保护?
答案 0 :(得分:1)
访问修饰符在接口上无效。一个接口是关于一个类公开的公共成员的。私有成员是实现的详细信息,因此与类公开的公共接口无关。
此限制适用于其他现代OOP语言,C#和Java也不允许在接口上使用访问修饰符。