Getter 和 Setter 方法
Getter and Setter methods
我在 Greenfoot 做一个 Java 作业,我被困在一个关于 getter 和 setter 方法的问题上,我找不到答案。
我被要求为三个属性(姓名、颜色、年龄)编写 getter 和 setter 方法,然后使用这些方法:
(a) 保证age不能小于0,age不能大于100
(b) 确保唯一有效的颜色是黑色、白色、棕色和灰色
关于如何解决这个问题有什么想法或建议吗?
提前致谢
希望对你有帮助,至少能给你一个可见度,你可以随意修改:
public class MyClass {
private String name;
private int age;
private String color;
private final List<String> colors = Arrays.asList("Black", "White", "Brown ", "Grey");
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
if (colors.contains(color)) {
this.color = color;
} else {
// if not valid do what you want
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0 && age <= 100) {
this.age = age;
} else {
// if not valid do what you want
}
}
}
我看到您的问题已经有了非常好的代码答案,所以我将重点解释 getter 和 setter 方法:
getter方法用于获取属性(也称为字段)。属性通常在程序的顶部找到,例如:private int i;我是一个属性。同一 class 中的所有方法都可以访问属性。所以在编写 getter 方法时,您只需编写:
public returntype getSomeAtribute(){
return someAtribute;
}
setter方法用于设置一个属性的值,不同类型的属性可以有不同的值,boolean有true或false,int有整数,String有文本。要设置 a 的值,您只需通过以下方式覆盖当前值:
public void setSomeAtribute(){
someAtribute = something;
}
我在 Greenfoot 做一个 Java 作业,我被困在一个关于 getter 和 setter 方法的问题上,我找不到答案。
我被要求为三个属性(姓名、颜色、年龄)编写 getter 和 setter 方法,然后使用这些方法:
(a) 保证age不能小于0,age不能大于100
(b) 确保唯一有效的颜色是黑色、白色、棕色和灰色
关于如何解决这个问题有什么想法或建议吗?
提前致谢
希望对你有帮助,至少能给你一个可见度,你可以随意修改:
public class MyClass {
private String name;
private int age;
private String color;
private final List<String> colors = Arrays.asList("Black", "White", "Brown ", "Grey");
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
if (colors.contains(color)) {
this.color = color;
} else {
// if not valid do what you want
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0 && age <= 100) {
this.age = age;
} else {
// if not valid do what you want
}
}
}
我看到您的问题已经有了非常好的代码答案,所以我将重点解释 getter 和 setter 方法:
getter方法用于获取属性(也称为字段)。属性通常在程序的顶部找到,例如:private int i;我是一个属性。同一 class 中的所有方法都可以访问属性。所以在编写 getter 方法时,您只需编写:
public returntype getSomeAtribute(){
return someAtribute;
}
setter方法用于设置一个属性的值,不同类型的属性可以有不同的值,boolean有true或false,int有整数,String有文本。要设置 a 的值,您只需通过以下方式覆盖当前值:
public void setSomeAtribute(){
someAtribute = something;
}