第11回:オーバーロード、オーバーライド、実行時のデータ型(3) (2/2)

徹底攻略Java 2プログラマ問題集 Platform 1.4対応
徹底攻略Java 2プログラマ問題集 Platform 1.4対応

第11回:オーバーロード、オーバーライド、実行時のデータ型(3)
著者:八木裕乃/明壁敦子
監修者:須澤秀人  編者:ソキウス・ジャパン   2005/8/30
前のページ  1  2
解答

   1ページ目の問題の解答を掲載します。解答には、問題の正解やその理由だけでなく、用語や重要事項などが詳しく解説されています。
第1問の解答: C、D

   カプセル化とは、データとそれを操作する手続きを一体化して、オブジェクトとして定義することです。カプセル化を行うことによって、オブジェクトの構造を外部から隠蔽することができます。外部からは公開された手続きを利用することでしかデータを操作できないようにし、個々のオブジェクトの独立性を高めます。ソフトウェアの保守性や開発効率を高め、プログラムの部分的な再利用が容易になります。

   カプセル化を行うには、メンバ変数にprivate修飾子を定義し(C)、クラス外から直接アクセスができないようにします。そして、メンバ変数に対するアクセッサメソッド(getter/setter)を定義します(D)。したがって、CDが正解です。


第2問の解答: D、E

   Objectクラスは、配列を含むすべてのオブジェクトのスーパークラスです。Object型の参照変数で、すべてのオブジェクトを参照することができます。GrandChild、Child、Parentの関係は以下のとおりです。

   GrandChildオブジェクトをObject型の変数で参照するときに暗黙の型変換が行われ、Object型のオブジェクトで管理されています。それを、GrandChild、Child、Parent型の変数で参照するには、キャストを行ってから参照する必要があります。したがって、DEが正解です。


第3問の解答: B

   15行目でChildクラスのインスタンスを生成し、Child型の変数で参照しています。

   16行目でParent型の変数に参照をコピーしています。parentobjからアクセスできる範囲は以下の図のとおりです。

   18行目で呼び出しているメソッドは、Parentクラスから継承したメソッドであるためアクセス可能ですが、19行目で呼び出しているprintChildMessageメソッドはChildクラスのメソッドであるため、コンパイルエラーが発生します。そのため、17行目でChild型にキャストして、元の型に戻します。したがって、Bが正解です。

第4問の解答: A、B

   メソッドのオーバーライドに関する問題です。

   08行目でsetAgeメソッドを定義していますが、引数がString型です。スーパークラスのsetAgeメソッドの引数はint型であるため、オーバーライドにはなりません。この場合、オーバーロードと見なされます。

   16行目では、setAgeメソッドにint型の引数を渡していますので、スーパークラスから継承したメソッドが実行されます。

   したがって、ABが正解です。

前のページ  1  2

書籍紹介
徹底攻略Java 2プログラマ問題集
Platform 1.4対応

徹底攻略Java 2プログラマ問題集 Platform 1.4対応SUN Java認定コースを担当する著者が臨場感ある問題と解説を書き下ろし!出題傾向をカバーする精錬問題を豊富に用意しているので、短期間で効率よく学習できます。実際の出題傾向を問題に盛り込むほか、詳しい解説をそれぞれ用意。単純な正否だけでなく、選択肢ごとになぜこれが正しいか、誤っているかその根拠をていねいに紹介しています。最終章の総仕上げ問題で試験の模擬対策も万全です!
発売日:2004.12.17発売
販売価格:3,360円(税込)

著者プロフィール
八木 裕乃
株式会社CSK 教育サービス事業部に所属。現在は、Java、UMLを利用したオブジェクト指向系の開発講座のコース開発からインストラクションまでを担当。Javaとはα版からの付き合いでそろそろ10年来となる!?取得資格:SJC-P、SJC-WC、OCUP Foundamental、MCSD、オラクルマスターなど著書:「マイクロソフト認定技術資格試験 MCP/MCSE必須用語辞典」(アスキー)



著者プロフィール
明壁 敦子
株式会社CSK 教育サービス事業部に所属。Java、UML、XML、オブジェクト指向、Webアプリケーション開発などの教材作成および講義を担当。Sun認定Javaインストラクタとしては、自らがJavaの習得に苦労した経験から、初心者でも解りやすい講座を心がけている。取得資格:SJC-P、SJC-WC、OCUP Fundamentalなど



監修者プロフィール
須澤 秀人
株式会社CSK 教育サービス事業部に所属。Java、UML、XML、ASP.NET、C、C++などの教材作成および講義を担当。「よく食べよく寝る」が座右の銘。取得資格:SJC-P、SJC-WC、OCUP Fundamentalなど著書:「dBASE?PLUSパーフェクトマスター入門編」(秀和システム)、「基本情報技術者 午後 Java スーパー攻略」(秀和システム・共著)など



編者プロフィール
株式会社ソキウス・ジャパン
クォリティ・メディア・カンパニーを標榜する出版社。2001年11月設立。2002年10月より株式会社インプレスと協業し、これまで30冊近い「徹底攻略問題集」を編纂する。また、自社で月刊「オープン・エンタープライズ・マガジン」を発行、発売している。
http://www.sociusjapan.co.jp/


INDEX
第11回:オーバーロード、オーバーライド、実行時のデータ型(3)
 問題
解答
徹底攻略Java 2プログラマ問題集 Platform 1.4対応
第1回クラス定義とアクセス制御
第2回制御文、アサーションと例外処理(1)
第3回制御文、アサーションと例外処理(2)
第4回ガーベッジコレクション
第5回Java言語の基礎(1)
第6回Java言語の基礎(2)
第7回演算子とデータのメモリ割り当て(1)
第8回演算子とデータのメモリ割り当て(2)
第9回オーバーロード、オーバーライド、実行時のデータ型(1)
第10回オーバーロード、オーバーライド、実行時のデータ型(2)
第11回オーバーロード、オーバーライド、実行時のデータ型(3)
第12回スレッド
第13回java.langパッケージのJava言語の基礎
第14回コレクション・フレームワーク

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored