使用 getter 和 setter 来控制对象的访问?

作者站长头像
站长
· 阅读数 6

使用 getter 和 setter 来控制对象的访问

使用 class 关键字创建一个 Thermostat class。 constructor 接收一个华氏温度.记得在 C = 5/9 (F - 32) 和 F = C 9.0 / 5 + 32 中,F 是华氏温度值,C 是摄氏温度值。下面代码应该怎么修改?

// 只修改这一行下面的代码
  class Thermostat{
    constructor(farenheit){
      this.farenheit= 5/9 * (farenheit - 32);
    }
    get temperature(){
      return this.farenheit;
    }
    set temperature(){
      this.farenheit=farenheit;
    }
  }
// 只修改这一行上面的代码
const thermos = new Thermostat(76); // 设置为华氏刻度
let temp = thermos.temperature; // 24.44 摄氏度
thermos.temperature = 26;
temp = thermos.temperature; // 26 摄氏度

已经自己解决set temperature(farenheit){

  this.farenheit=farenheit;

}需要参数

回复
1个回答
avatar
test
2024-06-24

不太明白你要干什么

  1. 你的 constructor,看起来是接收了一个华氏度然后转成摄氏度保存起来那既然是摄氏度为什么这个成员叫 farenheit
  2. 你的 set temperature 没有接收参数,这是跑不起来的。
class Thermostat {
  constructor(farenheit) {
      this.celsius = 5/9 * (farenheit - 32)
  }
  get temperature() {
      return this.celsius
  }
  set temperature(celsius) {
      this.celsius = celsius;
  }
}

answer image

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容