こんにちは。当方Java(プログラミング)初心者です。
今回はgetterとsetterの使い方に疑問を持ったので質問させて頂きます。
java
1class Data{ 2 private int data[] = new int[5]; 3 4 public int getData(int x) 5 { 6 return this.data[x] 7 } 8 9 public void setData(int x, int num) 10 { 11 this.data[x] = num; 12 } 13} 14 15class UseGetterSetter{ 16 public void useData() 17 { 18 // getData,setDataメソッドを使ってDataクラスのdataにアクセスしたい 19 } 20}
即興で考えたのでおかしな部分もあるかと思いますが、他のクラスからsetter/getterメソッドを使いprivate変数にアクセスしたいのですがどのようなコードになるのでしょうか?
(僕はgetter/setterメソッドはこう使うものだと思っていましたが、そもそもこの考えが間違えているとしたら指摘して下さい)
ちなみに自分が考えた解決法は、
java
1package pkg; 2 3class Data{ 4 private static int data[] = new int[5]; 5 6 public static int getData(int x) 7 { 8 return data[x]; 9 } 10 11 public static void setData(int x, int num) 12 { 13 data[x] = num; 14 } 15} 16 17package pkg; 18class UseGetterSetter{ 19 public void useData() 20 { 21 pkg.Data.getData(3); 22 } 23}
のようにstatic化してしまうことですが、オブジェクト指向ではむやみにstatic化しないほうが良いと書いてあるサイトもありこれでいいかよくわかりません。
質問のポイント等わかりづらいところがあれば指摘してください。よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。