50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
![]() |
---
|
|||
|
title: Use getters and setters to Control Access to an Object
|
|||
|
localeTitle: 使用getter和setter来控制对象的访问
|
|||
|
---
|
|||
|
## 使用getter和setter来控制对象的访问
|
|||
|
|
|||
|
getter和setter是类/对象的关键部分。它们允许您从外部控制其属性。当您开始使用面向对象编程单元时,它们将变得更加突出(即将推出!)。目前,本练习将向您展示如何使用ES6操作它们。
|
|||
|
|
|||
|
## 提示1:
|
|||
|
|
|||
|
创建恒温器类。你将把你的构造函数,getter和setter放在这里。
|
|||
|
|
|||
|
## 提示2:
|
|||
|
|
|||
|
为构造函数提供一个参数(您可以为任何名称命名)。将参数设置为同名属性。请记住,您最初设置的是Farenheit温度。
|
|||
|
|
|||
|
## 提示3:
|
|||
|
|
|||
|
创建一个将Farenheit属性转换为Celsius的get方法。使用给你的公式。
|
|||
|
|
|||
|
## 提示4:
|
|||
|
|
|||
|
创建与get方法同名的set方法。它应该有一个接受摄氏温度的参数。将其转换为farenheit,并将其设置为属性。
|
|||
|
|
|||
|
## 剧透警报 - 提前解决!
|
|||
|
|
|||
|
## 解
|
|||
|
|
|||
|
```javascript
|
|||
|
function makeClass() {
|
|||
|
"use strict";
|
|||
|
/* Alter code below this line */
|
|||
|
|
|||
|
class Thermostat{
|
|||
|
constructor(farenheit){
|
|||
|
this.farenheit = farenheit;
|
|||
|
}
|
|||
|
get temperature(){
|
|||
|
return 5 / 9 * (this.farenheit - 32);
|
|||
|
}
|
|||
|
set temperature(celsius){
|
|||
|
this.farenheit = celsius * 9.0 / 5 + 32;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/* Alter code above this line */
|
|||
|
return Thermostat;
|
|||
|
}
|
|||
|
|
|||
|
```
|