他們大多在思考像「setX的()&的getX()」 X是名(我的本意是在地方,你可以採取任何名稱的X)
下面是我的代碼:Setters是否可以有多個參數?如果它是如何有用?
public int getX() {
return ---;
}
public void setX(some X ,some Y)
{
}
這裏我的疑問是,我怎麼能設置兩個值setX()。以及我如何獲得這些價值。可能嗎?
他們大多在思考像「setX的()&的getX()」 X是名(我的本意是在地方,你可以採取任何名稱的X)
下面是我的代碼:Setters是否可以有多個參數?如果它是如何有用?
public int getX() {
return ---;
}
public void setX(some X ,some Y)
{
}
這裏我的疑問是,我怎麼能設置兩個值setX()。以及我如何獲得這些價值。可能嗎?
Setter通常是指設置一個類變量的值的方法。所以它只需要一個參數。如果你想要一個設置兩個類變量值的方法,你當然可以這樣做,但這通常不是setter的含義。
基於OP提出的其他問題,我認爲他需要這樣的東西。
public class Test001 {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public void setXY(int x, int y) {
setX(x);
setY(y);
}
public int[] getXY() {
return new int[] { x, y };
}
}
如果我爲我的setX()方法設置了兩個值,我如何獲得這些值 – Prabha
@Prabha將它們保存在兩個單獨的類變量中。然後你將它們存儲在那裏,你可以得到它們。 –
@Prabha查看更新的答案。 –
設置器指的是設置一個實例變量(公約)的值; 沒有類別變量,如前面的一些評論所述。實例和類變量之間有區別。約定是爲每個需要訪問或設置的實例變量設置一個setter。這是一個概念,如果封裝一個類的屬性,從而訪問類的屬性或運行時的對象,在程序中受到其他對象的保護。
您使用getters獲取這些屬性的值。
如果您將方法命名爲setX
,並且設置了Y
,那麼您很快會遇到一些困惑(錯誤)。你可以使用的一件事
public void setXAndY(some X, some Y) { // not recommended
this.X = X;
this.Y = Y;
}
而關於獲取多個值或者使用數組或List。
public some[] getXAndY() {
return new some[]{ this.X, this.Y };
}
我的意思是setX()。取代X,你可以取任何不像X的名字 – Prabha
那麼,你有語言結構與公約的東西。按照慣例,安裝者只需要一個參數。然而方法可以有很多。所以,只要將事情放在一起是有道理的,就這樣做,但也許使用一個更好的名稱來表示它不是一個setter(它仍然只是一個方法)。 – Matthias