No.4ベストアンサー
- 回答日時:
こんばんわ。
今ちょうど会社でPGを知らない人にPGを教えています。
私はJavaをやっていたため、PGの基礎よりまずこのオブジェクト指向とは?から教えました。
オブジェクトとは、直訳すると物です。
PGをはじめ、人って何か既存にあるものをコピペして使うといった使い方をされる方がほとんどだと思います。(偏見ですかね?)
1つ2つぐらいならともかく、複数回使用するもので全く同じ内容なのにいくつものファイルに書かれているのは面倒くさいですよね?もし仮にそれに修正が入ったら。。。
同じやつを1つにまとめればいいじゃんってことで、関数やクラスを作成します。同じような関数や似たような処理をまとめて1つのクラスを作る。そうすれば、こういう処理はここを見れば分かるし、機能変更したりするときでもそこだけを修正するだけなので便利ですよね。
MVCでいうMです。
同じやつを複数作らない、わかりやすいようにまとめる、使いたいときだけ使い、使わなければ別にそのまま。それがオブジェクト指向の1歩だと思います。
誤解があるようですが、オブジェクト指向がわからなくてもJavascriptは全然組めますよ。Javaは無理ですが。。。
世間一般でいうJavascriptはHTMLの補佐的なイメージですが、下の方の意見のように
>#オブジェクト指向言語としては、ある意味Javaより上かもしれません。
さすがにこれはないですが、Javaに近づくぐらいのJavascriptを作ることも可能ということです。もちろんオブジェクト指向は必須です。
PGの数をこなしていけば、自ずとわかると思いますよ。
ありがとうございます。
今日初めて『プルダウンメニューの連動』を自作(コピーではなくリファレンスを見て1から)できて、少しばかりオブジェクト指向への理解に前進できた気がしています。
No.5
- 回答日時:
ANo.4の様に誤解されていることが多いので、念のため補足しておきます。
JavaScriptは、データ隠蔽がサポートされていない等、オブジェクト指向言語としてJavaより劣る部分があるのも事実です。
しかし、JavaScriptの方が優れている部分もあります。例えば、Javaではクラスは拡張可能ですが、オブジェクト(インスタンス)は拡張不能です。一方、JavaScriptでは、オブジェクト(インスタンス)が拡張可能です(参考URL参照)。
JavaScriptは、その名前のため、また、HTMLの補助のみに使う人が多いため、不当な評価を受けています。JavaScriptとJavaは、同じオブジェクト指向でも方向性が違うと言うのが正当な評価でしょう。ご友人はその辺りを知っていて、助言されたのではないかと想像します。
参考URL:http://itpro.nikkeibp.co.jp/article/lecture/2006 …
ありがとうございます。
私も、JavaScriptはプログラムの中でもお手軽な部類に入ると思っています。でも不当という意味ではありませんよ。というのも、HTMLの中に放り込むだけで実行でき、なおかつ場を選ばないということで、性能云々とは別次元で優秀だと思っているんです。
さて、勝手ながらこの場をお借りしますが、質問本来の回答をなかなかいただけないのでここで締め切らせていただきます。
いろいろ勉強させていただきありがとうございました。
No.3
- 回答日時:
参考文献:
なぜArcはとりたててオブジェクト指向でないのか:
http://practical-scheme.net/trans/noop-j.html
SmallTalk:
http://ja.wikipedia.org/wiki/Smalltalk
Eiffelに学ぶ「正しいオブジェクト指向」:
http://itpro.nikkeibp.co.jp/article/COLUMN/20070 …
No.2
- 回答日時:
JavaScriptは、一般に言われているほど低級な言語ではなく、ユニークなオブジェクト指向言語なので、そのご友人の言うことは正しいと思います。
#オブジェクト指向言語としては、ある意味Javaより上かもしれません。
ただ、オブジェクト指向という考え方は、ある程度の規模のプログラムをいくつか実際に組んでみないと有難味は実感できないと思います。そういう意味でも、ご友人の言う「とりあえず分かることからやっていろいろ組んでいるうちにどこかでいきなり理解できる」は正しいように思います。
参考URL:http://www.tokumaru.org/JavaScript/
ありがとうございます。私が考えている以上に『オブジェクト指向とは何か』という問いはハードルが高いということなんですね。
参考にのせてくださったサイトも見ていました。他にもいろいろ見ているのですが、オブジェクト指向を踏まえた解説をしている(らしき)サイトを読んでプログラムを組んでみると、確かに理解が少し深まった気がします。友人の言葉を信じてまだまだ頑張るしかないのですね。
No.1
- 回答日時:
その友人はJavaScriptとJavaの違いが理解できていない半可通のような気がしますが…
オブジェクト指向は突然出てきた全く新しい概念ではなく、プログラミングの歴史の中で問題点を解決する為の一つの方法論として出てきたものです。
オブジェクト指向自体は業務分析から適用することが出来る広い概念であるため、オブジェクト指向デザインとオブジェクト指向プログラミングを分けて考えないと「犬がワンで猫がニャンです」的な話がプログラミングにどう繋がるのか理解できないで終わってしまいます。
オブジェクト指向のパラダイムの意義を分かりやすく説明している書籍『オブジェクト指向でなぜつくるのか』がありますので読んでみると良いです。
半可通かどうかは私には分かりませんね。ただ私よりJavaScriptを理解しているのは間違いありません。
オブジェクト指向についての解説ありがとうございます。書籍の紹介も参考になります。ただ質問に対しての回答はしていただけなかったのが残念ですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- その他(コンピューター・テクノロジー) AIに関連する用語を理解したい、RNN、LMM、LSTMなど、書籍で理解したい 1 2023/07/06 22:18
- IT・エンジニアリング teratailなどでプログラマー向いていないと言われてPTSD、でも諦めない。最低で何日要する? 2 2022/09/25 06:53
- Illustrator(イラストレーター) Illustratorでオブジェクトの色が勝手に変わって困っています。 4 2022/09/04 18:47
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- 子育て 1歳10ヶ月 言葉が遅い 5 2023/03/12 12:21
- タレント・お笑い芸人 BPO 今の時代、どっちの意見を尊重すべきでしょうか 1 2022/05/16 14:05
- Excel(エクセル) テキストの背後にあるオブジェクトとは 3 2023/01/03 20:22
- 会社・職場 いい加減退職するべきでしょうか。 現在新卒入社6年目(大卒)になり、4年ほど所属していた職場から突然 6 2022/11/28 11:43
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VC++6.0(MFC)】「Out of memo...
-
メモリリークが発生するのはど...
-
ボタンを押すとラベルの文字を...
-
最小化したフォームを元に戻す
-
C# panel内のコントロールの使...
-
関数で値渡しと参照渡しではど...
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
excel vba グラフ データラベル...
-
(UWSC) 「#32770」の意味わかり...
-
VC++ Express m_hWnd
-
IncludeではなくClassで宣言す...
-
DebugクラスとTraceクラスの違い
-
DataGridViewのセルに斜線を引...
-
ユーザーフォームのVBAエラー
-
ダイアログ表示時にチェックボ...
-
windowプログラム ピクチャー...
-
VB.NETで、DLLを頂いたんですが...
-
正規表現 [^/]+ の意味を教えて
-
【ASP.NET】 独自で作成したク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オブジェクト型の変数が定義さ...
-
C# panel内のコントロールの使...
-
コンストラクタ内でのthisポインタ
-
関数で値渡しと参照渡しではど...
-
ボタンを押すとラベルの文字を...
-
クラス内にWin32APIのコールバ...
-
【VC++6.0(MFC)】「Out of memo...
-
オブジェクトをどこでdisposeす...
-
イベントドリブンとオブジェク...
-
最小化したフォームを元に戻す
-
Excel2003VBAからIE64bitを制御
-
delete演算子によるメモリ解放...
-
デザイナ時のエラー「オブジェ...
-
オブジェクト指向を理解できない。
-
SetとNothingの存在意味?
-
vectorに格納されたオブジェク...
-
プログラミング
-
VB6では、Applicationは未定義...
-
メモリリークが発生するのはど...
-
FriendとPublicの違い。。。
おすすめ情報