我在 Greenfoot 做一个 Java 作业,我被一个关于 getter 和 setter 方法的问题困住了,我找不到答案。
我被要求为三个属性(名称、颜色、年龄)编写一个 getter 和 setter 方法,然后使用这些方法:
(a) 确保年龄不能小于 0,年龄不能大于 100
(b) 确保唯一有效的颜色是黑色、白色、棕色和灰色
关于如何解决这个问题的任何想法或建议?
提前致谢
我在 Greenfoot 做一个 Java 作业,我被一个关于 getter 和 setter 方法的问题困住了,我找不到答案。
我被要求为三个属性(名称、颜色、年龄)编写一个 getter 和 setter 方法,然后使用这些方法:
(a) 确保年龄不能小于 0,年龄不能大于 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; 我是一个属性。同一类中的所有方法都可以访问属性。因此,在编写 getter 方法时,您只需编写:
public returntype getSomeAtribute(){
return someAtribute;
}
setter 方法用于设置属性的值,不同类型的属性可以有不同的值,boolean 有 true 或 false,int 有整数,String 有文本。要设置 a 的值,您只需通过以下方式覆盖当前值:
public void setSomeAtribute(){
someAtribute = something;
}