QA #43

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

Added by aoki yuji over 5 years ago. Updated almost 5 years ago.

Status:終了Start date:05/05/2015
Priority:通常Due date:
Assignee:aoki yujiSpent time:0.30 hour
Category:-
優先順:

Description

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

②例えば、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を叩く

History

#1 Updated by aoki yuji over 5 years ago

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

#2 Updated by Miyazaki Masafumi over 5 years ago

  • Status changed from 新規 to 解決
  • Assignee changed from MIYAZAKI Masafumi to aoki yuji

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

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

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

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

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

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

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

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

#3 Updated by MIYAZAKI Masafumi almost 5 years ago

  • Status changed from 解決 to 終了

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

Also available in: Atom PDF