2017-04-13 185 views
-9

我在Greenfoot中做了一個Java任務,我被卡在一個關於getter和setter方法的問題上,我找不到答案。Getter和Setter方法

有人問我寫了三個屬性(名稱,顏色,年齡)getter和setter方法,然後使用這些方法:

(一)確保年齡不能小於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方法用於設置屬性附加傷害值,不同類型的atributes可以有不同的值,布爾有真或假,詮釋了整數,字符串有文本。設定的值時,您只需編寫覆蓋當前值:

public void setSomeAtribute(){ 
    someAtribute = something; 
}