2017-04-13 7 views
-9

Greenfoot에서 Java 할당을 수행하고 있는데 답변을 찾을 수없는 getter 및 setter 메서드에 대한 질문이 있습니다. 나는 이러한 방법을 사용하여 다음 세 가지 속성 (이름, 색상, 연령)에 대한 getter와 setter 메소드를 작성하고 질문한다 Getter 및 Setter 메서드

(A) 그 나이가 0보다 작을 수 없습니다 보장하고

연령은 할 수 없습니다 100보다 큰

(b)는, 유일하게 유효한 색상이 검은 색 화이트, 브라운과 그레이

나는이 문제를 해결할 방법에 어떤 아이디어 나 제안을 보장 할 수?

덕분에 사전에

+3

가능한 한 많이 구현하고 시도 할 때 시도한 것을 보여주고 특정 질문을하는 것이 좋습니다. –

+0

그게 숙제입니까? – Zorglube

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

    } 
+0

도움을 주셔서 감사합니다. 정말 고마워요 – chickencreature

+0

@chickencreature 문제 없으므로 답변을 수락하십시오! – mir

0

이미 아주 좋은이 있음을 볼 수 질문에 대한 답변을 코드하므로 getter 및 setter 메서드를 설명하는 데 초점을 맞 춥니 다.

속성을 가져 오는 데 getter 메서드가 사용됩니다 (필드라고도 함). 속성은 일반적으로 프로그램 상단에 있습니다 : private int i; 나는 공물이다. 속성 클래스는 동일한 클래스의 모든 메소드에 액세스 할 수 있습니다. getter 메소드를 작성할 때 그래서 당신은 간단하게 작성해야합니다 :

public returntype getSomeAtribute(){ 
    return someAtribute; 
} 

setter 메소드가 atribute의 값을 설정하는 데 사용되는, 부가 요소의 다른 종류의 서로 다른 값을 가질 수, 부울 참 또는 거짓이, INT는 정수를 가지고, 문자열에 텍스트가 있습니다. 값을 설정하려면 다음을 작성하여 현재 값을 덮어 씁니다.

public void setSomeAtribute(){ 
    someAtribute = something; 
}