スキップしてメイン コンテンツに移動

オブジェクト指向とは

普通にプログラミングする手法ですけど。(笑)
Javaが流行りだした当初、たぶん、話題づくりに作った「造語」だと思います。
昔からプログラミングしていた人だと、新しい言葉なのでなんなのかわからないだけです。
ですが、名前は違いますが、普通に昔からやっていたことです。

電子計算機ができた当初、プログラミングは、直線的プログラミングと言われ、一つのブロックで1本のプログラムでした。つまり、「読み込み処理」も「計算処理」も分けることなく、つなげて一つのプログラムとして書かれていました。

少し進んだ時代に、構造化プログラミング、つまり、処理を細かくわけて、「読み込み処理」「計算処理」「書き出し処理」…などと分け、順にそれぞれを呼び出す方式に代わりました。「サブルーチン」や「関数」と呼ばれる、よく使われる処理を予め別に作っておくこともありましたが、その当時は主な使いかたではありませんでした。

で、オブジェクト指向の「オブジェクト」と呼ばれているのは、前述の「関数」や「サブルーチン」を少し発展させたものです。「関数」そのものだと言ってもいいです。なぜ「オブジェクト(物)」と言うのかの説明でよく出てくるテレビの話をここでも書いておきましょう。

テレビを操作するのに、中の回路がどうなっているかなど知る必要はない。ただ、操作方法と見たい番組がわかっていればいい。それでテレビを見ることができる。

Excelでよく使うSUM関数やAVERAGE関数と同じですね。範囲を与えれば、答えを返してくれる。関数のプログラムがどうなっているかは見ることもできない。実は、オブジェクト指向は、プログラムを「関数」ばっかりで作るという考え方です。昔からやっていることです。

オブジェクト指向の従来の関数と考え方が違って見えるところは、関数(メソッド)がオブジェクト(対象物)と組みになっているところです。よく使われるエクセルのVBAもオブジェクト指向言語です。セルの中に色を着ける場合と文字に色を着ける場合の記述は、それぞれ
range("a1").interior.color = rgb(255, 0, 0)
range("a1").font.color = rgb(255, 0, 0)
などと、オブジェクト(対象物=適用先)が先に書かれます。これは、メソッドであるcolorの中で対象を識別して動作を変えるプログラムを記述すると複雑になるから、対象物の定義の中に関数(メソッド)も組としてプログラムされているのです。
昔ながらのプログラムで関数として書くなら、
color(operand:=color of interior of range("a1"), color:=rgb(255, 0, 0)) とかと、関数の名前を書いて、引数として「どこの色か」を書く形になりますね。こうすると、どこの色なのかの判断を関数に入れるため、color関数が複雑になりますね。ですから、初めに「どこの色か」と組みにしておけば、colorという同じ名前でも別のプログラムとして書け、「どこの色」なのかがはっきりすっきりするのです。

Javaの場合、関数名を「クラス名」と呼び、使うときにその「クラス」を「オブジェクト」にコピー(「インスタンス」と言う)して使います。そこのところが、他の言語でプログラミングしていた人にはJavaがわかりにくいと言われるところです。

合同会社ケイエックスでは、サポート扱いですが、Javaもお教えしています。

このブログの人気の投稿

この受信者へ配信できる電子メール アカウントはありません。

アウトルック(MS Outlook)で送信時に出る場合があるというエラーメッセージ。 受信者のサーバーが悪いかのように見えるが、実はOutlookの問題。 「この受信者へ配信できる電子メール アカウントはありません。」 これは、「配信できる電子メール アカウント」と書いてあるのだから、「配信」側が悪い。 送信のアカウント設定が間違っているか、サーバーがダウンしているか、 送信者のアカウントプロファイル(データファイルとは違う)が壊れている。 最悪の場合は、プロファイルの作り直しがいる。

Dell inspiron 700m 修理

Dell のパソコンはユーザーでも簡単に開けて中を掃除できるんですけどねぇ。(笑) Dell Inspiron 700m のCPUファンが例によってホコリ(ホコリというよりゴミのような?)で詰まっていました。猫か犬かウサギの毛ですね。 掃除して一件落着かと思ったら、「なんでこんな古い電池がついてるの?」という1900年代の年代物のボタン電池が入っていました。中身は100円ショップで2個100円で売っているCR2032です。(笑)溶接してコネクター付けるより電池ボックスのほうが安いと思うんですが。 キーボードがめちゃくちゃ汚いので、分解して洗いました。衛生上の問題がありそうでした。(ネコか犬のあれでしょうか?) 新品に取り替えようと思ったら、日本では5千円近くします。海外だと10ドルぐらいなんですが、送料を払っても安いなか?

ご自分の時給との比較

1時間につき、2000円~3000円(科目によっては5000円)がうちの料金。 極たまに、「高い」という人がいる。「安い」という人は多くいるが、ほんとうにたまに。 ご自分の時給が「1000円」ぐらいだから、そこから計算しているようです。 全然、世の中の仕組みとか会社の仕組みとかわかってない。 あなたが「1000円」もらうのに、会社は何円客からもらっていますか?  先生の時給の上に「パソコンの本体やプログラムの代金」「教室の照明の電気代などの教室の維持にかかるお金(これはよそのパソコン教室では別に取って、見かけ上の料金を安くしている。)」「先生が使うテキストの代金」いろんな経費が人件費の上に乗っているんですよ。 自習する場所を提供しているだけのビデオ学習のパソコン教室とはうちは違いますから、本来なら、受講者10人にひとりの先生のよその教室の10倍の料金にしないと同じ収入にならない計算です。