我正在Greenfoot中进行Java任务,而且我遇到了一个关于getter和setter方法的问题,我无法找到答案。
我被要求为三个属性(名称,颜色,年龄)编写一个getter和setter方法,然后使用这些方法:
(a)确保年龄不得低于0且年龄不得超过100
(b)确保唯一有效的颜色是黑色,白色,棕色和灰色
有关如何解决此问题的任何想法或建议?
提前致谢
答案 0 :(得分:1)
我希望对您有所帮助,至少可以提供您的可见性,您可以根据需要进行修改:
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
}
}
}
答案 1 :(得分:0)
我看到你的问题代码答案已经非常好了,所以我将重点介绍getter和setter方法:
getter方法用于获取属性(也称为字段。)属性通常位于程序的顶部,例如:private int i;我是一个属性。属性可以被同一个类中的所有方法接受。因此,在编写getter方法时,您只需编写:
public returntype getSomeAtribute(){
return someAtribute;
}
setter方法用于设置属性的值,不同类型的属性可以有不同的值,boolean有true或false,int有整数,String有文本。要设置a的值,只需写下:
即可覆盖当前值public void setSomeAtribute(){
someAtribute = something;
}