如果我有这样的课程:
export class Thing{
constructor(private some: string) { ... }
get thing() { return this.some; }
set thing(value: string) { this.some = value; }
}
我想知道这是否是具有可从构造函数分配的后备字段的受控属性(通过get和set)的正确方法。有没有更简单的方法可以做到这一点?
当然有一种方法可以做到这一点:
export class Thing{
constructor(public some: string) { ... }
}
,但是在初始阶段我们只能控制设置。另一个可能是:
export class Thing{
constructor(private some: string) { ... }
}
,但是我们无法公开访问它。而且只有使用set / get才能在创建对象时进行设置。
答案 0 :(得分:1)
假设您打算将getter和setter用于某个目的,那么您已经在正确地执行此问题了:
export class Thing {
constructor(private some: string) { ... }
get thing() { return this.some; }
set thing(value: string) { this.some = value; }
}
如果您的getter和setter确实和本示例一样简单,那么与您的其他示例相比,没有什么好处:
export class Thing {
constructor(public thing: string) { ... }
}