りおん プログラミングBlog

プログラミングを完全攻略できる情報を発信していきます。私のブログを見ることでアプリやWebサイトを1ヶ月で作ることができます!

MENU

100%理解できるオブジェクト指向 完全攻略 【保存版】

f:id:CodenameF0489:20210114133544p:plain

みなさんこんにちは、コードネームFです。

今回は100%理解できるオブジェクト指向 完全攻略

こういったテーマについてご紹介します。

 

プログラミングをする際にオブジェクト指向プログラミングという言葉を

あまり知らない大学生はかなりいると思います。

 

f:id:CodenameF0489:20201124133737j:plain

「オブジェクト指向ってなんぞや?

使うメリットはあるの?」

などこういった悩みを持つ大学生はほとんどいます。

自分もオブジェクト指向って何?と疑問に思ったこともありました。

 

ここで大学生にオブジェクト指向のことについて

100%わかりやすく解説して行きます。

 

f:id:CodenameF0489:20201121092651j:plain

 この記事を読むことでオブジェクト指向のことについて理解することができ、

プログラムの仕組みを理解できます。

 

逆にこの記事を読まなかったら

オブジェクト指向をわからないままで

プログラミングが終わってしまう可能性があります。

 

f:id:CodenameF0489:20201121092713j:plain

さらにオブジェクト指向のことについて知らないと

プログラミング言語の解説について理解しづらくなります。

なので事前にこの記事をご覧ください。

 

本題はこちらになります

 

✅オブジェクト指向プログラミングの概要

f:id:CodenameF0489:20201128092232j:plain

まず最初にオブジェクト指向について解説します。

オブジェクト指向についての解説は色々ありますが、

他の記事を見ても理解しづらい内容になっております。

 

この記事では小学生でもわかりやすく解説します。

まずオブジェクト指向とは多くの素材が組み合わさった物です。

 

f:id:CodenameF0489:20201126003812j:plain

ここでよくわからない方はいるので例を紹介します。

みなさんはアイスのモナカを知っていますよね?

ここで問題なのですがモナカの素材に何が入っているでしょうか?

 

これを答えられない方はほとんどいないと思うので早速答えを見せます。

モナカの皮

チョコレート

クリーム

 これらが入っています。

 

f:id:CodenameF0489:20201129124150j:plain

このように多くの素材を組み合わせることで

一つのオブジェクトを作ることができます。

他の具体例を言うとカレーライスとかラーメンも同じ説明ができます。

 

これらをプログラミングならではの説明をすると、

単体または複数の役割が備わったモノであることです。

 

f:id:CodenameF0489:20201203002453j:plain

ゲームだとわかりやすいと思います。

例えばマリオを例に示すとこうなります。

マリオ{

 ジャンプ

 ダッシュ

 ウォーク

 アタック

 土管に入る

 水中で泳ぐ

 ドアにはいつ

 ツタで登る

 しゃがむ

 ファイアボール

}

 

これらは日本語でわかりやすく書いたのですが、

本来のプログラミングをするとコードで書くことになります。

 

 

f:id:CodenameF0489:20201124133732j:plain

 ここでオブジェクト指向で使われるプログラミング言語を紹介します。

Python, JavaScript, Java, PHP, Ruby, 

PHP, Swift, C++, Kotlin, VBA

 

他にもオブジェクト指向で使われるプログラミング言語がありますが、

これらを触れてみることをオススメします。

 

オブジェクト指向型のプログラミング言語は

初心者にもオススメなのでぜひ触れてみてください。

 

✅オブジェクト指向を使うメリット

f:id:CodenameF0489:20201213151349j:plain

ここでオブジェクト指向の説明は以上となります。

次にオブジェクト指向を使うメリットご紹介します。

 

メリットはこちらになります。

・カスタマイズがしやすい

・複数人での作業が共有できる

 

・カスタマイズがしやすい

f:id:CodenameF0489:20201213151232j:plain

オブジェクト指向でプログラミングをすると

完成品にカスタマイズがしやすくなります。

 

つまりどう言うことかというと役割(操作)を簡単に変更できることです。

カスタマイズがしやすくなることで作業を効率化できます。 

 

例えば仕様の変更するときに柔軟に対応できる点でも

オブジェクト指向のメリットの一つです。 

 

・複数人での作業が共有できる

f:id:CodenameF0489:20201213154411j:plain

オブジェクト指向で行われる開発では、

多くの素材や役割によって構成されるものを

作業者が理解しながら作業を進めています。

 

作業者同士で認識の共有がしやすくなることで作業を効率化を図ることができます。

特に大人数で協力する大きなプロジェクトでは、

オブジェクト指向を使い情報を共有することが

非常に大切になるのでぜひこのようなポイントをおさえてください。

 

✅オブジェクト指向で押さえておきたいポイント

f:id:CodenameF0489:20201217160536j:plain

オブジェクト指向で押さえておきたいポイントがあります。

こちらになります。

・継承

・カプセル化

・ポリモーフィズム

 

・継承

f:id:CodenameF0489:20210114142129p:plain

継承とはサブクラスがメインクラスの性質を受け継ぐことです。

つまり簡単に言うとルイージがマリオの性質を受け継ぐことです。

このようにルイージの操作はマリオの操作と同じになることです。

 

ルイージ: マリオ{

 //add code

 

つまり別のオブジェクトを作る際に

同じような操作を持つオブジェクトを作る必要がないです。

継承はオブジェクト指向で活用することで作業が効率化します。

 

・カプセル化

f:id:CodenameF0489:20210114142109p:plain

カプセル化は役割の内容を隠すことです。

これを簡単に解説すると高校生が学校に行くことを例にします。

「家から出る→バスに乗る→バスから降りる

→校門に入る→教室に入る」

 

こういった細かい作業を隠すことをカプセル化と言います。

カプセル化をすることでプログラムを簡潔に書くことができます。

 

さらにできるだけ他のプログラムから干渉されないように

他のプログラムに干渉しないようにする仕組みをできます。 

 

・ポリモーフィズム

f:id:CodenameF0489:20210114142121p:plain

ポリーフィズムとは振る舞いをさまざまに変えられる仕組みのことを言います。

例えば日本人が他人と話す振る舞いを例にします。

日本人だったら「おはようございます」

中国人だったら「ニーハオ」

アメリカ人だったら「ハロー」

 

簡単に言うと同じ名前のメソッドを複数のクラスで使用できます。

そのメソッドを通して、暗黙的に複数のインスタンスの動作を

切り替えることができるようにします。

 

このように一つのオブジェクトが

他のオブジェクトに対して異なる振る舞いができます。

 

✅まとめ

f:id:CodenameF0489:20201203002508j:plain

今回のまとめとなります。

✅オブジェクト指向プログラミングの概要

✅オブジェクト指向を使うメリット

✅オブジェクト指向で押さえておきたいポイント

 

これらを押さえることでオブジェクト指向について100%理解することができます。

これらを押さえないとオブジェクト指向に関することを理解できなくなります。 

 

オブジェクト指向のプログラミング言語を使用することで

より簡潔なプログラミングが可能なのでぜひ実践してみてください。

これで以上になります。

 

LINE公式アカウントを登録していただくと、

プログラミング完全攻略に関する情報を

受け取ることができます。

友だち追加