試験に出た問題① has-a関係、is-a関係 | Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格(OCJ-P)を学習するブログです。

OCJ-P・Javaプログラマー資格をとりたい。
Javaプログラミングの入門者・初心者。

そんなあなたに、Javaプログラマー資格の取得に役立つ本質的な知識を、
分かりやすく解説していきます。

 試験に落ちたのは、精神的なダメージが大きかったです。
試験に合格して、勉強から解放されたい気分だったのですが、
また仕事終わってから、帰宅して勉強するのかとなると、
今までよく頑張っていたなぁ~と思いました。

一回落ちてへこたれずに、もう一度勉強を再開するのは、
とてもエネルギーがいるものです。

いつまでもへこんでられないので、
勉強を再開しますね。

 試験で解けなかったところを中心に、これから勉強していきます。
いろいろと思い出しながらやっていきます。

is-a関係とhas-a関係が出ました。
黒本ポケットでも出題されていて、
ほんまにこんなん出るんかいな?

と思っていたのですが、出ましたね。
is-a関係、has-a関係以外にも、
結合度と凝集度というのも出ました。

 is-a関係とhas-a関係はとても簡単です。
肝心なことは、オブジェクト指向の考え方と結びつけて覚えておくこと。

ずばり、
is-a関係は継承。
has-a関係はカプセル化。

と関係があります。

class A{}
class B extends A{}
のとき、B is-a Aです。

class A{
B b;
String str;
private void test(){};
}
のとき、A has-a Bであり、A has-a str , test です。

 実際の出題では、
Q.人間のトムは犬を飼っています。をあらわすのはどれか?
□人間 is-a トム
□トム is-a 人間
□犬 has-a トム
□トム has-a 犬
□どれでもない

というような感じで出題されていました。
英語で出題されていました。

ソースを書くとすれば、
class 人間{}
class トム extends 人間{
犬 inu;
}
ってところでしょうか。

簡単ですね。
何で間違えたのでしょうか。
悔やまれます。

こういうのは絶対に落とさないようにしましょう!!!