Javaのメソッドやクラスを分かりやすく解説する本

このQ&Aのポイント
  • Javaのメソッドやクラスを簡潔に解説した本です。初心者でも理解しやすく、実際にコードを書くことができます。
  • この本では、詳細設計書を元にクラスを作成する方法や、必要な要素を考える練習を通じて、メソッドの作成について理解を深めることができます。
  • さらに、引数についての理解を促す練習問題も含まれており、とことんJavaのメソッドやクラスについて学ぶことができます。
回答を見る
  • ベストアンサー

Javaのメソッドやクラスを分かりやすく解説した本

アルバイト先で新人社員のJAVA個別レッスンを頼まれました。 理解している、実行できる ・大体の文法 ・詳細設計書(Class名とそれに必要な要素)があればクラスは書ける。(形式に添ってクラスは書ける) ・オブジェクト指向は大体理解できている 出来ないこと 上のできる内容でClassは書けるとありましたが、 ・複数のClassを作るときに、それらに必要な要素を考えた事がありません。 ・複数のclassを作るときに、必要な全要素を出してあげても、どの要素がどのClassに必要か分からない。 ・Classは書けてもその中のメソッドを考えることができない。 ・引数がよく分かっていない。 この出来ないことを出来るようにするためには、 最初に、必要な要素を出してClassを作る練習 次に、Classに必要な要素を自分で考える練習 次に、メソッドの処理を日本語で出すのでJavaに置換える練習 次に、メソッドを最初から自分で書く練習 次に、引数について理解する・・・練習 が必要だと思います。 この部分だけを分かりやすく解説している本がないか探しています。 できれば本が良いのですが、WEBサイトでもかまいません。 どなたか同じように詰まった方がいらっしゃれば教えて下さい。 どうぞよろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

> できれば初心者向けか、もうちょっと的を絞ってある物がよいです。 初心者向けでそういった事を扱っている本というのは、なかなか良いものが思い浮かばないのですが、ひとつ挙げるとしたら下記の本でしょうか。 (正直微妙な箇所もありましたが・・・) 『なぜ、あなたはJavaでオブジェクト指向開発ができないのか』 http://www.amazon.co.jp/dp/477412222X 初心者向けでなくても良ければ、下記の本の内容がかなり近いのではないかと思いますが。 『オブジェクト開発の神髄』 http://www.amazon.co.jp/dp/4822282376 問題が載っているものとしては、モデリング系の書籍になってしまうのかなと。 ・UMLモデリング入門 http://www.amazon.co.jp/dp/4822283585 ・UMLモデリングレッスン http://www.amazon.co.jp/dp/4822283496 ・JavaプログラマのためのUML http://www.amazon.co.jp/dp/4797325135

hirochanoshiete
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • root139
  • ベストアンサー率60% (488/809)
回答No.1

「理解している、実行できる」「出来ないこと」は、新入社員の方についてでしょうか?それとも投稿者さん自身ですか? いずれにせよ、Javaというよりオブジェクト指向設計の解説・方法論をまとめたものが欲しいという事ですね。 Javaを使っていて詳しく解説されている『デザインパターンとともに学ぶオブジェクト指向のこころ』がお勧めです。 難点は、全体を通して読むと分かる様な構成になっているので、自分の興味の有る章だけを拾い読みするような使い方が難しい事です。 http://www.amazon.co.jp/dp/4894716844/ それから、『Code Complete第2版〈上〉』の6章のクラスの解説も分かりやすいかと思います。こちらは厚い本ですが、非常に読みやすく、自分の興味の有る章だけを拾い読みするような使い方もできます。プログラミングの基礎的なことから勉強できる本です。 http://www.amazon.co.jp/dp/489100455X/ 他には下記の様なものも思い当たりますが、その学習段階ではちょっと敷居が高いかも知れません。 『アジャイルソフトウェア開発の奥義』 http://www.amazon.co.jp/dp/4797347783/ 『ドメイン駆動設計』 http://www.amazon.co.jp/dp/4798121967 『オブジェクトデザイン』 http://www.amazon.co.jp/dp/4798109037 ※ Javaのコーディングについて 初心者向けでは有りませんが、Javaの良い書き方を教えるなら『Effective Java 第2版』が参考になると思います。4章、7章、8章辺りは初心者にとっても必要な事ですし。 http://www.amazon.co.jp/dp/489471499X また、『パーフェクトJava』は、基礎的なことから応用的なことまでトピック毎にまとめてあるので、レッスンの参考にすると良いかも知れません。 http://www.amazon.co.jp/dp/4774139904

hirochanoshiete
質問者

お礼

ありがとうございます。 できれば初心者向けか、 もうちょっと的を絞ってある物がよいです。 具体的には、Classを作る問題が何問もあるとか、 反復練習をするための教材が良いのかなと思いました。 もしご存知であれば教えて下さい。

hirochanoshiete
質問者

補足

>>「理解している、実行できる」「出来ないこと」は、 >>新入社員の方についてでしょうか?それとも投稿者さん自身ですか? 新入社員の方です。 ただ、私もデザインパターンを理解しているレベルではありません。 ちょっとお話した感じですと、その場では理解してもらえますが、時間が経つと忘れてしまい使えなくなるようです。

関連するQ&A

  • javaのメソッドの引数で、クラスの配列を指定する

    javaのメソッドの引数で、クラスの配列を指定する事は可能なのでしょうか? 受け取るメソッドでは引数の所に何と書けば良いのでしょうか? 教えてください!

    • ベストアンサー
    • Java
  • javaのメソッド呼び出し

    javaで質問があります。メソッドを呼び出すとき、 クラス.メソッド(引数)だと思いますが、 「.」が2つあるものがあります。 どういったものでしょうか? あるプログラムに Code.PerComFlag.ReCom.equals(atmlogDTO.getatmComFlg()) のがありました。 また、javaの本に System.out.println(・・・) という記述もあります。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JAVAのクラスの考え方は・・?

    JAVAの勉強をしていている学生です。 常々思っていたのですが、クラスの考え方がしっくりきてませんヽ(~-~ よく参考書などで書かれていることで 「クラスは設計図のようなもの、オブジェクトはそこから作成した実体」 「鋳型がクラスでどんどん作れるのがインスタンス」 といった話が疑問でならないのです。 というのも・・クラスの設計って、自分自身をフィールドに宣言したりできますよね。。 でそこから生成して、また自分自身のフィールドに生成して・・とか。 インターフェースを実装したクラスで、、、内部クラスを持ったクラスで、、、ジェネリッククラス、、。 となってくると、最初の考え方では、論理的に無理?私の脳内では変換しきれないです(´;ω;) 多分前提となる考え方が間違っていたり、私の想像力が乏しいだけだと思います。 どなたか、「クラスってこう考えればオブジェクト指向が見えてくる」と表現している本やサイトなどご存じないでしょうか。 一朝一夕で理解しようとは思っていませんので、きちんと参考にして理解しようと頑張ります! 「私的には・・」や「あなたが勘違いしている箇所は・・」といったご意見もぜひお聞きしたいです! クラスかオブジェクト指向かどっちかというより、クラスありきでJAVAのオブジェクト指向が本当に理解できると考えています。参考書やWEBを探してみた限りではやっぱり理解できないです(´;ω;) ちなみにC言語を中学生で始め、プログラミングに触れました。

  • javaの勉強法

    javaを覚えようとして、本を読んでオブジェクト指向をうっすらと理解した所です javaの考え方はわかったのですが、いざプログラムを作るとなると、個々のクラスやメソッド機能を知らないといけないじゃないですか、これって個々のクラスやメソッドを理解するほうがプログラムを作るより先なんじゃないかと思いはじめています(1.3.0の日本語ドキュメントを見ています)。 (確かによく使うクラス、メソッドってあると思うし、全て覚えていなくてもいんじゃないのと思うけど) どう思われますか?

  • java のメソッドの使い方について

    現在のjavaの勉強しております。 そこでフィールドについてどうしてもわからないことがあったので質問させていただきます。 他クラスのメソッドを利用したい時、通常インスタンス化を行いますが、下記のようにフィールドに宣言しても、他クラスのメソッドを利用できることに疑問を感じました。 public class Test{ public String show(){     ~~   return null; } } //Testクラスのshowメソッドを呼び出します public class Test2{ private Test test_; public String triaezu(){    String str = test_.show(); ~~   … このようにフィールドにもつ呼び出しとインスタンス化をして呼び出す方式とは一体何が違うのでしょうか? プログラムの先輩方、基礎的なことすぎて申し訳ないのですが、どうかご教授ください。

    • ベストアンサー
    • Java
  • クラス変数とクラスメソッドを教えてください

    みんさんどうもすみません。クラス変数とクラスメソッドなんですが、 何回本を読んでもイマイチ理解できません。クラス変数とクラスメソッド を使うことでなにがメリットなのか教えてください。例えばクラスメソッド の場合はメソッド名の前にオブジェクト名をつけなくていいとか、そういう 便利さのために使うんでしょうか?どうもまだ完全に理解できていないの で詳しい方いらっしゃったらどうか教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • クラスメソッドの問題

    春から情報系の大学に行くためjavaについて勉強しているのですが分からない問題が出てきたので質問します。 問題 1からnまでの奇数の和を求めるプログラムsumple.javaと和を計算するためのクラスメソッドSum及び結果を表示するためのクラスメソッドdisplayを用いて作成する。 Sumの戻り値と因数はともにint型とする。 なおdisplayの戻り値はvoid型、因数はint型が2つとする。 nの入力はコマンドライン引数を利用する 実行例 $ java sumple.java コマンドライン引数がありません! $ java sumple.java 100 1から100までの奇数の和は2500です。 このようになるのですがそのように作ればよいか全然わかりません。 回答お願いします

  • javaで、オブジェクトを生成しないとメソッドは使えないんですか?

    javaで、オブジェクトを生成しないとメソッドは使えないんですか? そのように習ったのですが、サブクラスのメソッド定義の中で、オブジェクトを生成せずにスーパークラスのメソッドを使える例(下に簡単に書きました)をみて、分からなくなってしまいました。 おしえてください、よろしくおねがいします。 ------------------------------- class superclass { method_a(){ ~~~~ } } --------------------------- class subclass { method_b(){ super.method_a(); }

    • ベストアンサー
    • Java
  • Javaの公式メソッドの中身を見るには?

    Javaの公式なメソッドやクラスの中身を見るにはどうすればいいでしょうか? jTextAreaクラスに、指定した位置に文字列を挿入する、 「insertメソッド」というメソッドがあるのですが、 このメソッドがどういうアルゴリズムかを勉強したいのですが、 JavaのAPIを見ても、引数や説明があるだけで、中のソースがありません。 http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/JTextArea.html#insert%28java.lang.String,%20int%29 何か中身を見る方法ありませんか?

    • ベストアンサー
    • Java
  • どのクラスのメソッドか、をどう見極めるか。

    どのクラスのメソッドか、をどう見極めるか。 Java初心者です(教科書で学んで、実践はこれからというレベル)。 参考書やネット上の資料等に掲載されているコードを見ていますと、 import文(10文くらい)で沢山のパッケージをimportしているようなクラスを しばしば目にしますが、このようなクラス内で使われている沢山のメソッドは、 それぞれ、どこかのクラスに属しているメソッドであるかと思います。 これらのメソッドについて、その仕様を知りたいと感じた場合、 それらがそれぞれ、どのクラスに属するのかを突き止める必要があるかと思いますが、 その突き止め方について、どなたか教えて下さい。 (一般的に普及している方法で結構です。) 例えば、知りたいと感じたメソッド名をネット検索し、 そのメソッドが「Javaの組み込みクラス」のメソッドである場合には、 ネット検索でヒットするでしょうから、その検索結果を受けて、 そのヒットしたクラスと、import文の内容とを比較し、 ネット検索でヒットしたクラスが、そのメソッドの格納主であると確信できれば、 それをもとに、そのメソッドの仕様を知ることができますよね。 (自作・他作のメソッドと、名前がバッティングしているかもしれないことを考慮すると、 やや頭が痛くなる問題になりませんか?) ネット検索で辿る方法が、まず頭に浮かびましたが、 これよりも効率的な方法がもし何かありましたら、教えて下さい。 ただ、一方で、 仕様を知りたいと思っているメソッドが、 「Javaの組み込みクラス」のメソッドではなく、 自作(もしくは、他作)のメソッドであった場合、 検索してもヒットはしませんから、その場合には、 import文にある自作もしくは他作のパッケージをしらみつぶしで探していくことになるのでしょうか? 当然、そのメソッドは、同一パッケージ内にあるクラスのpublicメソッドである可能性もありますから、 同一パッケージ内のクラスの中も、しらみつぶしに探していくことになりますよね? 各メソッドがコメントで「○○クラスのメソッド」というように注意書きされてあれば、 このような苦労はないのでしょうが、ネット上のソースを見る限りでは、 そんな親切なコメントはまず期待できないように思います。 以上、まとまりのない質問ではありますが、アドバイスを宜しくお願い致します。 自分のこの疑問が見当違いの疑問でしたら、その時は、ズバリそれを指摘して下さい。

    • ベストアンサー
    • Java