可以在接口上指定属性,但不能强制使用getter和setter,如下所示:
interface IExample {
Name: string;
}
class Example implements IExample {
private _name: string = "Bob";
public get Name() {
return this._name;
}
public set Name(value) {
this._name = value;
}
}
var example = new Example();
alert(example.Name);
在本例中,接口不强制类使用getter和setter,我本可以使用一个属性(下面的示例)——但接口应该隐藏这些实现细节,因为它向调用代码promise 可以调用什么.
interface IExample {
Name: string;
}
class Example implements IExample {
// this satisfies the interface just the same
public Name: string = "Bob";
}
var example = new Example();
alert(example.Name);
最后,=>
是不允许用于类方法的——如果你认为它有一个火爆的用例,你可以使用start a discussion on Codeplex.下面是一个例子:
class Test {
// Yes
getName = () => 'Steve';
// No
getName() => 'Steve';
// No
get name() => 'Steve';
}