1

の値を設定したいとしint yます5y=5;

int y=0;
y=5;

しかし、次の方法で行うよりもゲッターとセッターを使用する場合

public class x {
private int y;
    public int getY() {
    return y;
}
public void setY(int y) {
    this.y = y;
}

その後、x のオブジェクトを作成し、そのメソッドを呼び出します

x x1=new x();
x1.setY(5);

私の質問は、y=5 を直接設定できる場合、なぜゲッター メソッドとセッター メソッドを使用するのかということです。

4

8 に答える 8

1

設定できる値を制御したい場合は、setter を使用します。

どうですか

cat.weight = 0  

cat.setWeight(0);

セッターでは、重量が適切な値であるかどうかを確認できます

public void setWeight(int weight){
    if(weight > 0){
        this.weight = weight;
    }
    else{
       // SHOUT I dont want my cat to die
    }
}
于 2013-09-26T10:12:13.133 に答える
0

あなたが求めているのは、OOP の基本的な考え方の 1 つです。プログラミングをすればするほど明らかになる理由はたくさんあります。

カプセル化のチュートリアル

于 2013-09-26T10:18:30.037 に答える
0

これは、オブジェクト指向プログラミングで最もよく使用され、カプセル化の概念に対応しています。クラスのメンバー変数を非公開にすることで、それらを非表示にして、他のコードの影響を受けないようにすることができます。

これらの変数は、パブリック メンバー関数を使用してのみ変更できます。このインターフェイスを設定してデータや詳細を非表示にすると、コードが読みやすくなります。

ここで詳細を読むことができます: http://en.wikipedia.org/wiki/Mutator_method

于 2013-09-26T10:14:03.310 に答える
0

これは主に、コンピューティングにおける安全上の理由によるものです。クラス変数は常にプライベート変数として宣言し、x=5; を使用して外部用に変更することはできません。しかし、セッターとゲッターを使用すると、これを実現できます。

于 2013-09-26T10:13:10.993 に答える