• 締切済み

オブジェクト指向を理解できない。

taukunの回答

  • taukun
  • ベストアンサー率43% (20/46)
回答No.4

こんばんわ。 今ちょうど会社でPGを知らない人にPGを教えています。 私はJavaをやっていたため、PGの基礎よりまずこのオブジェクト指向とは?から教えました。 オブジェクトとは、直訳すると物です。 PGをはじめ、人って何か既存にあるものをコピペして使うといった使い方をされる方がほとんどだと思います。(偏見ですかね?) 1つ2つぐらいならともかく、複数回使用するもので全く同じ内容なのにいくつものファイルに書かれているのは面倒くさいですよね?もし仮にそれに修正が入ったら。。。 同じやつを1つにまとめればいいじゃんってことで、関数やクラスを作成します。同じような関数や似たような処理をまとめて1つのクラスを作る。そうすれば、こういう処理はここを見れば分かるし、機能変更したりするときでもそこだけを修正するだけなので便利ですよね。 MVCでいうMです。 同じやつを複数作らない、わかりやすいようにまとめる、使いたいときだけ使い、使わなければ別にそのまま。それがオブジェクト指向の1歩だと思います。 誤解があるようですが、オブジェクト指向がわからなくてもJavascriptは全然組めますよ。Javaは無理ですが。。。 世間一般でいうJavascriptはHTMLの補佐的なイメージですが、下の方の意見のように >#オブジェクト指向言語としては、ある意味Javaより上かもしれません。 さすがにこれはないですが、Javaに近づくぐらいのJavascriptを作ることも可能ということです。もちろんオブジェクト指向は必須です。 PGの数をこなしていけば、自ずとわかると思いますよ。

noname#54215
質問者

お礼

ありがとうございます。 今日初めて『プルダウンメニューの連動』を自作(コピーではなくリファレンスを見て1から)できて、少しばかりオブジェクト指向への理解に前進できた気がしています。

関連するQ&A

  • オブジェクト指向が理解できません 教えてください

    現在Javaを勉強しているのですが、 Javaに限らず最近のプログラムの特徴であるオブジェクト指向がよくわかりません。 C言語も学んでいたので少しは知識はあります。 以下は私の解釈です。 C言語は関数の集まったものがいわゆる私たちが作るプログラムで、 作ったプログラムはそれ単体で機能する。 それに比べてオブジェクト指向を用いたプログラムでは、 オブジェクトからクラスが生成、このクラスが一つのプログラムとなる。 クラスのプログラムをいくつも集めたものが最終的なソフトとなる。 Cだとミスを一か所直すと他のところを直す羽目になるかもしれませんが、 オブジェクト指向においてはミスをオブジェクト単位で修正するので、 他のオブジェクトへの影響度は少ない。 よってオブジェクト指向の方が拡張・修正などでも優れている。 こんな感じに解釈したのですがどうでしょうか? オブジェクト指向では最終的なプログラムソフトはオブジェクトの集合体によって構成されているため、オブジェクト指向=オブジェクト中心の考えと言えるのでしょうか。

  • オブジェクト指向、理解しやすい?

     最近、Javaの解説書や解説サイトを見ていて、しばしば、「Javaは完全なオブジェクト指向だから理解しやすい」といった記述を見かけます。(「プログラムが見やすくなる」とかではなく)  Javaに限った話ではないのですが、個人的に、オブジェクト指向の概念は、プログラミング初心者の最大の関門ではないかと勝手に思っています。僕はPHPから入ったのですが、ある程度基本事項をマスターした後も、オブジェクト指向だけは長い間苦手としてきました。(最近やっと慣れてきたところです。)  そこで伺いたいのですが、最初にやったプログラミング言語がオブジェクト指向だったという方、オブジェクト指向の概念は、 1.わかりやすかった 2.そこでつまずいた 3.特に意識せずに通り過ぎた 4.その他 いずれでしょうか? ※最初にJavaについて書きましたが、これはただの例なので、オブジェクト指向言語全般についての質問であるととらえてください。

  • オブジェクト指向?

    最近、プログラムを始めようと思い、色々質問を見ていたら、 オブジェクト指向という言葉がすごいいっぱいありました。 ちょっと調べてみましたが、よくわかりませんでした。どういう事なのでしょうか? 教えてくれたら嬉しいです

  • Javaにおけるオブジェクト指向とは?

    現在Javaを勉強しております。 以前はC言語を勉強しておたのですが、 JavaとCの違いにおいてJavaの特徴としてオブジェクト指向と習いました。 しかしいまいちこのオブジェクト指向を理解できません。 プログラムを一つのまとまりとして考えるというのはどういうことなのでしょうか? 確かにJavaはC言語とは違いいくつかのプログラムからできている (はず?見当違いだったらすみません) C言語が一つの大きなプログラムでできているとすると、 Javaは細かいプログラムの集合体であると私は考えていました。 この細かいプログラムの集合体というのがオブジェクト指向なのでしょうか? 全くの見当違いだったらすみません。 よろしくお願いします。 

    • ベストアンサー
    • Java
  • オブジェクト指向とは何ぞや…

    JavaScript自称初級者ですが、未だに「オブジェクト指向」の意味をつかめず困っています。 書籍やウェブで解説しているのをいくつも見て、その文章は理解出来ているのですがそこにある本質がどうしても飲み込めない状況です。 こういう状態の者に理解できるような説明をもらえたら嬉しいのですが難しいでしょうか。 どなたかお願いします。

  • オブジェクト指向言語とは???

    初めての言語として今PHPを勉強しているのですが PHP4をベースにして本格的なオブジェクト指向言語として作られたのが PHP5だという風に勉強しました。 でも(本格的な)オブジェクト指向言語という言葉がよく分かりません。 自分で調べても難しい言葉ばかりでいまいち理解することが出来ないのです。

  • オブジェクト指向について

    趣味でプログラミングをしているのですが オブジェクト指向の概念がうまく理解できていないので 教えていただけませんでしょうか? 解説本などを読むと、オブジェクト指向のクラスを動物クラスを継承して犬クラスや猫クラスなどと解説してあるのですが。 どうも、僕がプログラム設計するとしっぽクラスや泣き声クラスなどといった違った動物の類似機能をまとめてのクラスをつくり各メソッドとしてしまいまっています。 動物クラスや乗り物クラスを組み合わせてプログラムを設計する事ができません。 本格的なプログラムを組む用途では無いので気にしなくても目的の機能が実装できれば問題無いと知人からは言われ(面倒なので教えたくないのかもしれませんが)そのまま来てしまいました。 最近、気になって来たので。 正しい使い方を身に着けたいと思いチャレンジしていますが、変な癖がついていて犬や猫クラスなどと思いながら設計していると思考が止まってしまいます。 そこで、下記のことを教えていただけませんでしょうか? (1)泣き声クラスなどの同機能を1つのクラスにしてしまう設計しか出来ない(発想できない)のは考え方のどこがわるいのでしょうか? (追記:一部分だけならペンギンクラス猫クラスなどと言う動物クラスの継承的な発想はできるのですが実際のプログラミングの際は動物のようなわかり易い物オブジェクトとして目に見える物体ではない事柄をオブジェクト化にする事が難しく感じるのではないかと思います。) (2)今までの小さい規模での開発なら、クラスのつくり方がおかしくても不具合は無かったのですが、どのような時に困る事があるのでしょうか?(解説などでも再利用性などと、さらっと解説されていますがイマイチぴんときません) (3)正しくオブジェクト指向がマスター出来ている方にとって、どのクラスにどのメソッド実装するか悩む事などはあるのでしょうか? また、設計で一番悩むのはどのあたりですか? (4)UMLのマスターは必須でしょうか?(現在は、なんとなくUMLぽい感じでメモ書きをつくり、えせオブジェクト指向でプログラムを組んでいます。) (5)その他アドバイスがあればお願いします。 ※乱文で問題もハッキリせず質問の整理等がうまくいっていないと思いますが1つの項目だけでも構いませんので、ご教授お願いします。

    • ベストアンサー
    • Java
  • オブジェクト指向のプログラム??

    「オブジェクト指向のプログラム」という言葉を プログラミングの話をしているときに聞きますが よくわかりません。 どなたか素人でもわかるように教えて下さい。

  • オブジェクト指向

    Javaプログラミングを少し勉強し始めました。 そこで、オブジェクト指向という言葉が出てきました。 オブジェクトを作る利点というか意味はどのようなところにあるのでしょうか? 比較的簡単なプログラムなら、変数とメソッドで表示できると思うのですが・・。 ・コードが読みやすくなる ・実行速度が速くなる などの利点があるのでしょうか? なるべく分かりやすく解説してもらえればと思います。

    • ベストアンサー
    • Java
  • オブジェクト指向の教え方

    新入社員にJavaを教えているところなのですが、オブジェクト指向プログラミングをどのように教えていいか困っています。 全員がC言語研修を受講済みで、さらにJava言語も、継承やオーバーロード、例外まで一通り教えて、一応理解しています。 そこで、次のレベルとして、C言語風のプログラミング(「プログラム=関数の集まり」の考え方)から、オブジェクト指向(「プログラム=オブジェクトの集まり」の考え方)に意識改革させたいところです。 問題領域をオブジェクトの集まりとしてとらえ、そこからクラスを抽出していく、という説明がよくありますが、 「何をオブジェクトにするのか」「どのようにクラスを抽出したらいいのか」の部分を詳しく教えたいのですが、どのように説明したらいいでしょうか。また、参考になるWebサイトなどありませんでしょうか? 自分が普段作るときは、ほぼ「勘」でクラス設計していますので、それでは教えられなくて困っています。よろしくお願いします。

    • ベストアンサー
    • Java