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; 
}