トップページ

本棚


両手で1000まで数えられますか?:2進法の話
数値 - 危険物取り扱い注意
100 × 200 =32?:変数のオーバーフローの話
パリティビット
小数の扱いについて
ぽいんた
ぽいんた2
ぽいんた3
ジ・オリジン
ジ・オリジン:補足
かっこつける話
かっこつける話2
文字列のこと
タイミングの話
拡張性の話
取り込む話
staticな話

コンパイルの話1
コンパイルの話2:止まらぬビルド
コンパイルの話3:マシン語に落ちるということ1:メモリの話
コンパイルの話4:マシン語に落ちるということ2:最適化
コンパイルの話5:マシン語に落ちるということ3:変数とスタック
コンパイルの話6:コンパイラはそもそも何をやってくれるのか??
リンクの話
プリプロセッサの話

OS、というもの

オブジェクト指向1
オブジェクト指向:2
オブジェクト指向:3

オブジェクト指向:番外 C言語のソースファイルの話
オブジェクト指向:番外 C言語での「再利用性」と「カプセル化」データ構造とアルゴリズム


抽象的な話

寝込んで布団の中で考えたこと
こんなの、常識??
お仕事プログラミング
ソフトでハードなプログラム
プログラムするということ
お勉強
プログラムを学ぶということの補足
C言語:「学問」と「実務」
統合開発環境
C言語ってポータブルですか?
C言語ってポータブルですか?:2
あなたは、どう読みますか?
ああ勘違い
試してガッテン
低級品
質問をするということ
ポカ
「何もしない」 != 「無駄」
エディタの話
もっと手を抜こう

いまどきの、アセンブラ

VisualStudio2005
VisualStudio2005:2

戦争の防ぎ方、に対する私の考え
身近な差別
改革
地球に優しいなんて大嘘
統計で嘘をつく方法

言葉について
言葉について:2

神が死んだということ
善悪の彼岸から、力への意思を目覚めさせるということ

本を読むということ
本を読むということ:2

絵を描く話
地図
地球儀

オカルトのお話
がんだむさん
RPGソフトウェア
記紀神話の不思議



メニュー

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

グダグダ言っていてもしょうがないので、まじめにオブジェクト指向なお話。

オブジェクト指向の使いどころと学び方について。


オブジェクト指向とは、従来の構造化言語(C言語など)と異なって、「オブジェクト」という単位で考えよう、ということだ。

なんて簡単に済ませてしまうと怒られそう。。

でも、オブジェクト指向の話なんて、本屋に言ったらいっぱいあるから、あえてここで私が述べる必要のあることってあまりない。ほんとに。

ただ、「オブジェクト指向」というパラダイムと「オブジェクト指向言語」と「UML」は、区別したほうがいいと思う。どうも、ごっちゃになっている(あるいは故意にごっちゃにしている)本が多いような。。

前にも書いたけど、C言語でだってアセンブラでだってオブジェクト指向なプログラミングはできる。

JavaやC++は、オブジェクト指向でプログラミング「しやすい」言語でしかない。

結局のところ「オブジェクト指向」というのはプログラミングの際の考え方の一つに過ぎない。

犬小屋をつくるのと、ビルを建てるのとでは設計から施工までの工程と方法論が違うのと、それは似ている

犬小屋をつくるときはその処理の全てを見通すことができるし、屋根から作っても壁から作ってもかまわない。
ビルを建てる時には、犬小屋を作るときみたいに細かい材料の寸法や材質も重要だけど、それらをあるていどひとまとめにして抽象的に捉える必要がある。まず全体の構成やコンセプトを決めて、その後で細かい部分の検討に入る。

そういう風な方法論の違いが、「構造化プログラミング」と「オブジェクト指向プログラミング」なのである。どっちがいい悪いというものではないと思う。


てなわけで、方法論そのものが違うのでオブジェクト指向プログラミングはやっかい。学習する際にはC言語などの手続き型言語とは一線を画して考える必要がある。

その意味で、C++という言語は罪作りな言語だと思う。C言語を使っていた人が移行しやすいのは確かなんだけど、そのままC言語の書き方でもプログラムを作れてしまう。

これだとプログラムの「考え方」「作り方」の移行が難しい。従来どおりの手続き型の記述を廃したJavaやC#のほうが、素直にオブジェクト指向の考え方に入っていけるとはおもう。

だけど、上のほうで書いたとおり、作るプログラムによってオブジェクト指向を使ったほうがいい場合とそうでない場合がある。


その意味では、その時々でどちらの書き方もできるC++という言語は、案外優れているのかもしれない。




| 新しいページ | 編集 | 差分 | 編集履歴 | ページ名変更 | アップロード | 検索 | ページ一覧 | タグ | RSS | ご利用ガイド | 管理者に問合せ |
@wiki - 無料レンタルウィキサービス | プライバシーポリシー