QA #43

【インタフェース仕様】Questionクラス アクセサメソッドについて

aoki yuji9年以上前に追加. ほぼ9年前に更新.

ステータス:終了開始日:2015/05/05
優先度:通常期日:
担当者:aoki yuji作業時間の記録:0.30時間
カテゴリ:-
優先順:

説明

①応答値、引数の「*」は何を表していますか?
 なんでもありですか?

②例えば、getId(foo)というメソッドがあって、fooには「question」か、「correct」か、「incorrect」が入るイメージですか?
 →question、correct、incorrectには一意性がない認識なので、idが複数取得できてしまう可能性があります。

③使い道がイマイチピン時ていないので微妙な提案になるかもしれませんが、
 以下の様な引数と応答値ではいけませんかね・・・

 array[] getId(foo)  →fooはquestion,correct,incorrectが入る。応答値はidが複数格納された配列。
 void setId(id, foo) →つくらない(idはDB側でシリアルに振り出しているので、外部から設定できない様にする。)

 String getQuestion(id)     →引数はid固定。応答されるStringはquestion。
 void setQuestion(id, question) →idとquestionを渡し、メソッドの中でwhere句にidを指定し、questionをUPDATEするSQLを叩く

 String getCorrect(id)    →引数はid固定。応答されるStringはcorrect。
 void setCorrect(id, correct) →idとcorrectを渡し、メソッドの中でwhere句にidを指定し、correctをUPDATEするSQLを叩く

 String getIncorrect(id)    →引数はid固定。応答されるStringはincorrect。
 void setIncorrect(id, incorrect)→idとincorrectを渡し、メソッドの中でwhere句にidを指定し、incorrectをUPDATEするSQLを叩く

履歴

#1 aoki yuji9年以上前に更新

  • 題名Questionクラス アクセサメソッドについて から 【インタフェース仕様】Questionクラス アクセサメソッドについて に変更

#2 Miyazaki Masafumi9年以上前に更新

  • ステータス新規 から 解決 に変更
  • 担当者MIYAZAKI Masafumi から aoki yuji に変更

すみません、情報不足により概念的な齟齬を生んでしまいました。各クラスの関係(概念)を先に記述します。

Questionクラスは1問分のデータを格納する入れ物で、そのインスタンス自身が識別子/問題文/解答群を所持します。
このインスタンスは、WhiskyExaminationDBクラス(DBへのアクセサクラス)により生成されます。
(※Questionクラスから直接的にデータベースを参照することはありません。)

アプリケーションは、WhiskyExaminationDBクラスを通してデータベースにアクセスします。
例えば、アプリケーションが 3つの問題を要求する場合は、
WhiskyExaminationDBクラスがQuestionクラスのインスタンス(入れ物)を3つ生成し、
それぞれに別々の問題データを格納してアプリケーション側へ応答することになります。

①応答値、引数の「*」は何を表していますか?

簡略化しすぎていましたので、アクセサの仕様を下記のように修正します。

名前 応答値 引数 説明
get*** 各プロパティの値 なし 各プロパティのアクセサ(getter)。***はプロパティ名を表す。
set*** なし 各プロパティの値 各プロパティのアクセサ(setter)。***はプロパティ名を表す。

②例えば、getId(foo)というメソッドがあって、fooには「question」か、「correct」か、「incorrect」が入るイメージですか?
③使い道がイマイチピン時ていないので微妙な提案になるかもしれませんが、

上述の概念説明を回答に代えさせていただきます。

#3 MIYAZAKI Masafumiほぼ9年前に更新

  • ステータス解決 から 終了 に変更

2015.12.31(Thu)現在、解決済みのためクローズします。

他の形式にエクスポート: Atom PDF