• ベストアンサー

セッターとゲッター

Java初心者です。 セッターとゲッターの違いがわからないので質問します。 あるクラスの配列に値を格納して、もうひとつのクラスでそれを取得するにはセッターとゲッターのどちらに記述すればいいですか? また、ソースの書き方としてはどのように記述すればいいでしょうか?お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.5

コンストラクタはどのような処理なのか。 http://www.nextindex.net/java/constructor.html 簡単に言えば、クラスの初期化です。

その他の回答 (4)

  • kscKane
  • ベストアンサー率62% (18/29)
回答No.4

http://www.nextindex.net/java/memberVar.html setterとgetterの説明が「メンバー変数の修飾子」という見出しのあたりから説明されています。 データをセットするクラスにsetterを、データを取得するクラスにgetterを作成するわけではありません。 データクラスにsetterとgetterを定義して、 値をセットするクラスはデータクラスのsetterを、 値を取得するクラスでデータクラスのgetterを利用します。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

ああ。。。いま、わかりました。 getter/setter は「クラス」ではありません。クラス内の各メソッド(関数)です。 もし、授業か開発作業の中で「セッタークラス」「ゲッタークラス」等という言葉がでてきたのだとしたら、 それは、先生(あるいは先輩社員)が、作って欲しいプログラムそのものの仕様だと思いますので、先生(先輩)に聞いて確認してください。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.2

>setterクラスはあっていると思いますが、 いいえ。あっていません。 何度も言うように、setterは voidになります。 return はいりません。 getterが 値を返すようにするのです。return が必要なのです。 public class Hoge{  // member変数  private String[] str = new String[0];  // コンストラクタ  Hoge(){  }  // getter  public String[] getStrings(){   return this.str;  }  // setter  public void setStrings(String[] str){   this.str = str;  } }

dai5719
質問者

補足

回答ありがとうございます。 getterとsetterは理解できましたが、 // コンストラクタ  Hoge(){  } ・・・はどのような処理なのでしょうか? コンストラクタの意味がわからなかったので調べてみたところ、 「クラスからインスタンスを生成する際に呼び出される部分」とありましたが、うまく理解できませんでした。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

>セッターとゲッターの違いがわからないので質問します。 セットするって言葉がわからない・ゲットするって言葉がわからない…ってことでしょうか? あるクラスに値を設定する(セットする)のがsetterで、あるクラスから値を取り出す(ゲットする)のがgetterです。 >あるクラスの配列に値を格納して、もうひとつのクラスでそれを取得する 上の回答で答えになっているとおもうんですが、 『あるクラスに配列を格納する』ならばsetterですが、 「あるクラスの配列に値を格納する」・・・というのは、ロジックが必要なので、仕様次第です。 「もうひとつのクラスでそれを取得する」・・・というのは、書き換えると 『もう一つのクラスで、あるクラスから値を取得する』ということですので、getメソッドで値を取り出すことになりますね。

dai5719
質問者

補足

setterクラスではこのように記述してあるとします。 public class KanaHenkanData { //全角を格納するメソッド public char[] setZenkaraHan(char[] haze) { //(全角)ア、イ、ウ、エ、オ・・・・ char[] zenkaku = {'ア','イ','ウ','エ','オ'}; //zenkakuを返す return zenkaku; } //半角を格納するメソッド public String[] setHankaraZen(String[] zeha) { //(半角)ア、イ、ウ、エ、オ・・・・ String[] hankaku = {"ア","イ","ウ","エ","オ"}; return hankaku; } } setterクラスはあっていると思いますが、これをgetterクラスで取り出すのがうまくいきません。

関連するQ&A