创建一个 Puppy class,名字为私有 属性,getter 和 setter 属性 名为 getName 和 setName。构造函数应该
Create a Puppy class with private property name and both a getter and a setter for that property called getName and setName. The constructor should
JavaScript 不是我的菜,回答这些问题的你们绝对是救星。
创建一个 Puppy class,名字为私有 属性,getter 和 setter 为 属性 命名为 getName和设置名称。构造函数应该带一个参数来初始化私有属性.
我的代码:
public class Puppy {
private String name;
public Puppy(String name) {
setName(name);
}
public String getName() {
return Name;
}
public String setName(String name) {
this.name=name;
}
截图:
here
我在回答这个问题时显然漏掉了重要的词'private'。我发布的代码创建了 public 个实例变量。
class Puppy {
constructor(n) {
// private property
var name = n
// methods that use private property
this.getName = () => {return name}
this.setName = (n) => {name = n}
// public property
this.nickname = n
}
// methods that use public property
setNickname(n) { this.nickname = n }
getNickname() { return this.nickname }
}
p = new Puppy("fido")
console.log("p.name",p.name) // undefined, not accessible
console.log("p.getName()",p.getName()) // fido
console.log("p.getNickname()",p.getNickname()) // fido
console.log("---")
p.name = "barker" // defines a new property on this instance of Puppy
console.log("p.name",p.name) // barker
console.log("p.getName() ",p.getName()) // doesn't change private name fido
console.log("---")
p.setName("fuzz") // change private name
console.log("p.getName()",p.getName()) // fuzz
console.log("p.getNickname()",p.getNickname()) // fido
console.log("---")
p.nickname = "chewy" // set public property directly
console.log("p.getNickname()",p.getNickname()) // chewy
JavaScript 不是我的菜,回答这些问题的你们绝对是救星。
创建一个 Puppy class,名字为私有 属性,getter 和 setter 为 属性 命名为 getName和设置名称。构造函数应该带一个参数来初始化私有属性.
我的代码:
public class Puppy {
private String name;
public Puppy(String name) {
setName(name);
}
public String getName() {
return Name;
}
public String setName(String name) {
this.name=name;
}
截图: here
我在回答这个问题时显然漏掉了重要的词'private'。我发布的代码创建了 public 个实例变量。
class Puppy {
constructor(n) {
// private property
var name = n
// methods that use private property
this.getName = () => {return name}
this.setName = (n) => {name = n}
// public property
this.nickname = n
}
// methods that use public property
setNickname(n) { this.nickname = n }
getNickname() { return this.nickname }
}
p = new Puppy("fido")
console.log("p.name",p.name) // undefined, not accessible
console.log("p.getName()",p.getName()) // fido
console.log("p.getNickname()",p.getNickname()) // fido
console.log("---")
p.name = "barker" // defines a new property on this instance of Puppy
console.log("p.name",p.name) // barker
console.log("p.getName() ",p.getName()) // doesn't change private name fido
console.log("---")
p.setName("fuzz") // change private name
console.log("p.getName()",p.getName()) // fuzz
console.log("p.getNickname()",p.getNickname()) // fido
console.log("---")
p.nickname = "chewy" // set public property directly
console.log("p.getNickname()",p.getNickname()) // chewy