already

ts set 和 get方法

2022-05-26  本文已影响0人  暴躁程序员

在对类封装的时候常常使用 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. 注意事项

  1. 使用 get、set方法的成员变量命名时建议在前面加 _
  2. get 和 set 方法的名称,建议使用去掉 _ 的成员变量名称
  3. 在类外使用时,通过操作get和set修饰的方法名(以对象属性的方式操作),来间接的操作成员变量
上一篇 下一篇

猜你喜欢

热点阅读