我在Greenfoot中做了一個Java任務,我被卡在一個關於getter和setter方法的問題上,我找不到答案。Getter和Setter方法
有人問我寫了三個屬性(名稱,顏色,年齡)getter和setter方法,然後使用這些方法:
(一)確保年齡不能小於0且年齡不能大於100
(b)確保唯一有效的顏色有黑色,白色,棕色和灰色
任何意見或建議,我將如何解決這個問題?
在此先感謝
我在Greenfoot中做了一個Java任務,我被卡在一個關於getter和setter方法的問題上,我找不到答案。Getter和Setter方法
有人問我寫了三個屬性(名稱,顏色,年齡)getter和setter方法,然後使用這些方法:
(一)確保年齡不能小於0且年齡不能大於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
}
}
}
非常感謝您的幫助!真的很感謝 – chickencreature
@chickencreature沒問題,請接受答案! – mir
我看到已經有一個很不錯的代碼回答您的問題,所以我將重點解釋getter和setter方法:
getter方法用於獲取屬性(也稱爲字段)。屬性通常位於程序的頂部,例如:private int i;我是一個屬性。屬性可以被同一類中的所有方法所接受。所以寫一個getter方法時,你只要寫:
public returntype getSomeAtribute(){
return someAtribute;
}
setter方法用於設置屬性附加傷害值,不同類型的atributes可以有不同的值,布爾有真或假,詮釋了整數,字符串有文本。設定的值時,您只需編寫覆蓋當前值:
public void setSomeAtribute(){
someAtribute = something;
}
我建議你嘗試實現儘可能多的,你可以當你遇到問題,告訴我們你嘗試過什麼,問一個具體問題。 –
是你的功課嗎? – Zorglube
分享你到目前爲止所嘗試的? –