2016年11月05日

平成28年度 技術士第一次試験問題 情報工学部門 V−15

V−15
以下のシーケンス図をJavaプログラムで表現したときに、プログラム中の (a) 〜 (c) に
入る組合せとして、最も適切なものはどれか。

 平成28年度 技術士第一次試験問題 情報工学部門 V−15

class (a) {
 (c) insP;
 void methodX() {
  insP.methodY();
 }
}

class (b) {
 (a) insQ;
 void method1() {
  insQ.methodX();
 }
 void methodZ() {
 }
}

class (c) {
 (b) insR;
 void methodY() {
 }
 method2() {
  insR.methodZ();
 }
}

      (a)    (b)    (c)
 @ ClassA ClassB ClassC
 A ClassA ClassC ClassB
 B ClassB ClassA ClassC
 C ClassB ClassC ClassA
 D ClassC ClassB ClassA



【正解】 B
問題図の矢印とともに描かれている
1. methodX() は、
「ClassBで定義されているmethodX() を呼び出す」という意味である。
従ってクラスBでmethodX() を定義しておく必要があり、
class (a) は class ClassB であることが判る。

同様に、 2.methodY() は  「ClassCで定義されているmethody() を呼び出す」と
いう意味である。
従ってクラスCでmethodY() を定義しておく必要があり、
class (c) は class ClassC であることが判る。

同様に 3.methodZ() はクラスAで定義しておく必要がある。

ちなみに
class ClassB {
 ClassC insP;
 void methodX() {
  insP.methodY();
 }
}

は、

ClassBを定義する。
 ClassC の実体を insPと定義する。
 メソッド methodX() は クラスCのメソッド methodYを呼び出す。


という意味になる。

EXCELのマクロのご相談なら ファーストマクロ 



posted by ファーストマクロ at 10:51| Comment(0) | H28技術士一次試験(情報工学)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: