Методы получения и установки

Я делаю Java-задание в Greenfoot, и я застрял в вопросе о методах получения и установки, на которые я не могу найти ответ.

Меня просят написать метод получения и установки для трех атрибутов (имя, цвет, возраст), а затем использовать эти методы для:

(а) убедитесь, что возраст не может быть меньше 0, а возраст не может быть больше 100

(б) убедитесь, что единственными допустимыми цветами являются черный, белый, коричневый и серый

Есть идеи или предложения, как бы я решил эту проблему?

заранее спасибо

2 ответа

Решение

Я надеюсь, что это поможет вам, это даст вам по крайней мере видимость, и вы можете изменить его, как вы хотите:

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

  }

Я вижу, что на ваш вопрос уже есть очень хороший кодовый ответ, поэтому я сосредоточусь на объяснении методов получения и установки:

Методы получения используются для получения атрибута (также известного как поле). Обычно атрибут находится в верхней части программы, например: private int i; я атрибут. Атрибуты могут быть приняты всеми методами в одном классе. поэтому при написании метода получения вы просто должны написать:

public returntype getSomeAtribute(){
    return someAtribute; 
}

Методы установки используются для установки значения атрибута, различные типы атрибутов могут иметь разные значения, логическое значение имеет true или false, int имеет целые числа, String имеет текст. чтобы установить значение, вы просто перезаписываете текущее значение, написав:

public void setSomeAtribute(){
   someAtribute = something; 
}
Другие вопросы по тегам