見出し画像

オブジェクト指向導入

こんにちは、筑豊ゼミ データデザイン研究会です。
今回は、オブジェクト指向実践ガイドという書籍を用いて学習した内容を後輩に教えるつもりで執筆していこうと思います。

なぜオブジェクト指向が必要なのか

利点を考えずに学習するのは気乗りしない方もいると思いますので考えてみると、やはりオブジェクト指向の利点は一度記述したプログラムを再利用しやすくなったり、より少ないコードで処理が実現出来るようになる点であると思います。
この利点は開発コストが下がる点はもちろん統一されたコードを同一の処理を行う箇所に使用することは保守のしやすさに寄与します。

オブジェクト指向のイメージ

オブジェクト指向のイメージを説明される時に自動車を用いた説明を受ける人も多いでしょう。
イメージを説明する際、私は.…
https://26gram.com/what-is-object-oriented
こちらのサイトを用いて説明をほぼ丸投げするでしょう。(とても私にとってわかりやすかったです。)

Pythonを用いた簡単な例

(上記のページを参考にある程度理解したと前提します。)

それではまず、クラスを実装していきます。
今回はPythonを使用していきます。

class Car: #車のクラスを作成
    def Start:
        print('エンジンがかかりました。')
    def Accelerate:
        print('加速します。')
    def Brake:
        print('減速します')
car = Car #車のクラスを用いて定義する。
 
car.Start()#->エンジンがかかりました。
 
car.Accelerate() #->加速します。
 
car.Brake() #->減速します。

このように、クラスの作成と使用ができました。
初期化や継承などを用いた内容は次回以降することにして、今回は記述の確認について解説していきます。

  1. クラスの定義

class Car: #車のクラスを作成

このように class クラス名:  でクラスを定義します。
例に挙げたコードのようにクラスの中に関数を定義し、定義したクラスの機能を使用するための用意を行なっています。

2. インスタンス化

car = Car #車のクラスを用いて定義する。

この箇所ではクラスを利用するためのインスタンス化ということをおこなっています。
インスタンスといってもパッとこないかもしれませんが、あまり難しく考えすぎないでください、単に生成されたオブジェクトの実体のことを指しています!

これらで、クラスを利用する準備は整いました!
記述した動作を実行したいときは

car.Start()#->エンジンがかかりました。
 
car.Accelerate() #->加速します。
 
car.Brake() #->減速します。

のようにして呼び出します!

まとめ

いかがだったでしょうか?
自分でも説明がアバウトすぎる気もしますがゼロから説明することを想定しながら言語化するということの難しさを感じる反面、自分の理解が適当だったなと痛感する部分も出てきました。
その反面ある程度慣れの世界でもあると思うのでさまざまな書籍やドキュメントなどを参考にぜひ触れてみてください!


筑豊ゼミ データデザイン研究会について

私たちは主に近畿大学 産業理工学部の学生を中心に活動しているデータデザイン研究会です!

現在は、月に一度、飯塚市にあるつなぐカフェに集まり、制作物の作成や、開発などの活動の他、各研究会との交流や、技術書の選書ツアー、コワーキングスペースでの開発をおこなっています!

これからも、筑豊で学ぶ私たちの活動や、筑豊の魅力について発信します!

データデザイン研究会では現在メンバーを募集しています。
もしご興味のある方がいらっしゃればぜひお声がけください!


この記事が気に入ったらサポートをしてみませんか?