在对类封装的时候常常使用 private 来修饰成员变量,防止成员变量被外部修改,除了实例化类外,唯一在类的外部修改成员变量的方式就是通过设置 get、set 方法来对外暴露成员变量
1. 作用:为被 private 修饰的成员变量赋值和取值
private 修饰的成员变量是受保护的,在类的外面无法进行直接赋值和取值
但是是可以使用 get、set 方法来对 private 修饰的成员变量进行赋值和取值
2. 示例
class Person {
private _name: string;
constructor(name: string) {
this._name = name;
}
get name(): string {
return this._name;
}
set name(value: string) {
this._name = value;
}
}
let alias = new Person("alias");
// alias._name = "alias_____"; // 赋值,报错
// console.log(alias._name); // 取值,报错
alias.name = "alias_____"; // 赋值,get方法
console.log(alias.name); // 取值,set方法
3. 注意事项
- 使用 get、set方法的成员变量命名时建议在前面加 _
- get 和 set 方法的名称,建议使用去掉 _ 的成员变量名称
- 在类外使用时,通过操作get和set修饰的方法名(以对象属性的方式操作),来间接的操作成员变量
网友评论