こんにちは!

 

 

超文系プログラマ/SE@SEKIです。

 

 

 

 

今回は、前回に引き続き

「オブジェクト指向」

についてお話しします。

 

 

前回の続きになりますので

まだの方はこちらからどうぞ。

↓↓

あなたには "神" になってもらいます。

 

 

 

「オブジェクト指向」は

誰からも教えてもらえないと

かなり難しく感じてしまう概念です。

 

独学で学習していると

必ずつまづいてしまいます。

 

 

 

「オブジェクト指向」についての

イメージを頭に植えつけておけば

Ruby・Java・C#・Pythonなどの言語を

学習するときにかなり理解しやすくなります。

 

また、オブジェクト指向の概念を

一度理解してしまえば、

他のオブジェクト指向言語にも

応用が利きます。

 

コードの書き方が多少違うだけで

概念は同じなので習得するまでの時間が

はるかに短縮されます。

 

 

 

この記事を最後まで読めば

前回の記事からさらに

 

・オブジェクト指向の考え方が理解できる

・オブジェクト指向言語の学習がしやすくなる

・コードを書くときに悩まなくなる

 

ようになります。

 

 

 

しかし、

前回の記事も今回の記事も読まないと

 

・オブジェクト指向の理解につまづく

・概念が分からずに学習がストップする

・「挫折」へとつながってしまう

 

こんな結末を迎えてしまいます。

 

 

 

 

 

「作業の指示出し」

 

今回はこれをキーワードとして

あなたには抑えて欲しいと思います。

 

 

 

設計図であるクラスから作り出したモノを

「オブジェクト」と呼んでいました。

 

 

 

プログラム上では、

「オブジェクト」が別の「オブジェクト」に

指示出しを行ない、やりとりをします。

 

↓

 

 

 

※なぜ「オブジェクト」同士で

やりとりを行う必要があるのかを

説明すると長くなるため今回は触れません。

 

 

 

 

 

では、「作業の指示出し」について

もう少し具体的に考えていきましょう。

 

 

 

次のようなオブジェクトがあるとします。

 

 

名前:鈴木さん

 

 

 

名前:ABC銀行ATM

 

 

 

 

あなたはこれらのオブジェクトをみて

どんな「作業の指示出し」が行われると

考えますか?

 

 

 

 

 

 

 

名前:鈴木さん

 

 

「お金を預ける」

 

↓

 

 

 

名前:ABC銀行ATM

 

 

おそらくこんな指示出しを

考えるかと思います。

 

 

 

鈴木さん

 お金をATMに投入する

 

ABC銀行ATM

 お金を鈴木さんの口座に預金する

 

 

 

言い換えると、

 

鈴木さん

 ATMに預金するよう指示出しを行う

 

ABC銀行ATM

 鈴木さんから受け取ったお金を口座に反映する

 

ということです。

 

 

 

これが「作業の指示出し」です。

…なんだか当たり前のことですよね。

 

実はプログラムの世界でも

現実世界と同じことが行われています。

 

 

ですが、多くの人は

プログラムのコードなどによって

惑わされてしまうのです。

 

 

 

この例から分かるように

「オブジェクト指向」とは

私たちが現実世界で

普段から何気なくやっていること

 

 

これをイメージしておけば大丈夫です。

 

 

 

 

 

では、今すぐできるワークを行いましょう。

 

 

①上の例を参考にして

 オブジェクトを2つ考えます。

 

②「作業の指示出し」を以下のテンプレートに

 当てはめて考えてみましょう。

 

 『◯◯が△△に□□するよう指示出しを行う』

 『××が◇◇する』

 

 

 

 

これまで見てきたように

「オブジェクト指向」で大切なのは

「作業の指示出し」です。

 

 

このイメージを

頭に植えつけておくことで

オブジェクト指向言語の学習が楽になります。

 

 

さらに、

この概念が一度分かってしまえば

他のオブジェクト指向言語も

かなり習得しやすくなります。

 

複数の言語を

カンタンに使えるようになる

というわけです。

 

 

 

 

この概念を意識して

あなたのプログラミングスキルを

どんどん向上させていきましょう。

 

 

 

 

それでは

今日も最後までお読みいただき

ありがとうございました!

 

 

 

 

ご意見・ご感想がありましたら

是非、コメントしてください♪

 

 

 

 

 

超文系プログラマ/SE@SEKI