とがみんブログ
大学院の中退を決断し、徹底的に自分と向き合い就職活動をする中で、心理学や脳科学に興味を持つ。挙げ句の果てに、この世界の仕組みにも興味を持つ。そんなとがみんの考えや経験を綴ったブログです。
swift

【Swift4】オブジェクト指向プログラミングとは

どうも。とがみんです。

現在セブ島のNexSeedというプログラミングと英語を勉強できる学校で、エンジニア留学卒業後、ティーチングアシスタントとして、インターンをしています。

>エンジニア留学|NexSeed

今回は、オブジェクト指向プログラミングについてまとめたので紹介します。

オブジェクト指向プログラミング

オブジェクト指向とは、ある物の状態や機能をあらかじめまとめておき、使いたい時に、それをオブジェクト(物)として呼び出して、プログラムを書いていく考え方です。

もう少しわかりやすく言い換えると、

「設計図を元に、物(オブジェクト)を作り、その者に対して、やって欲しい動作を命令する」

といったプログラムの書き方をします。

ほとんどのiOSアプリケーションもこのオブジェクト指向のプログラミングで書かれています。

このオブジェクト指向プログラミングを理解するにあたって、重要になってくる用語が以下の4つです。

  • クラス:「オブジェクト(物)」の設計図
  • プロパティ:「オブジェクト(物)」の性質、状態
  • メソッド:「オブジェクト(物)」の動作
  • インスタンス化:設計図を元に「オブジェクト(物)」を作ること

そして、プログラムを書くに当たって、3ステップあります。

  1. 設計図を作成する
  2. 設計図を元に、オブジェクトを作成する
  3. 作成したオブジェクトに命令をだす

上記の流れに沿って、オブジェクト指向プログラミングの例について紹介していきます。

スポンサードリンク

オブジェクト指向プログラミングの例

以下にまず「とがみん」というオブジェクトを作成し、動作させるまでのイメージとコードを紹介します。

オブジェクト指向プログラミングのイメージについて

まず、イメージは下図のようになります。

    1. 設計図を作成する

まず、「とがみん」の設計図を作ります。設計図はプロパティとメソッドを持ちます。「とがみん」の性質や状態、できることが書かれています。

    1. 設計図を元に、オブジェクトを作成する

次にインスタンス化します。設計図を元に、「とがみん」を作り出します。

    1. 作成したオブジェクトに命令をだす

最後に作成した「とがみん」に命令を出します。「とがみん」はブログの記事を書いたり、広めたり、また、バク転をすることができます。なので、それらの命令を出すと実際にその行動をしてくれます。

Swiftでどのようにプログラムを書くか

次に上図のイメージをどのようにプログラムで書いていくかについてです。

設計図を作成し、インスタンス化し、命令をだすことによって、プログラムを動作させます。

オブジェクト指向のメリット

オブジェクト指向型プログラミングのメリットについて説明します。メリットとしては主に2つあります。

  • 簡単にプログラムを書ける。
  • 大人数で開発する際、プログラムを他者が壊す恐れが減る。

簡単にプログラムを書ける

Swiftでは設計図(クラス)に当たるものがたくさん用意されているので簡単に様々な機能を持ったオブジェクト(物)を作成することができます。

例えば、以下のようなインスタグラムのようなカメラや動画、ライブラリを表示するプログラムを書きたいとします。

一からプログラムを書こうと思った場合、各種ボタンを押したらどうなるのか、どこに何を配置するのか等、詳細に設計図に書き込まなければいけません。

しかし、インターネット上にその設計図が用意されているので、実際にそのカメラを実装する際は、インスタンス化すれば実装できてしまいます。

https://github.com/Yummypets/YPImagePicker.git

Swiftではこの設計図に当たるものがデフォルトでたくさん用意されており、またインターネット上にもたくさん用意されているので、

それらを使えば簡単にいろんなオブジェクト(物)を作成することができます。

設計図を用いて作り出したオブジェクトに命令をすれば、それだけでプログラムが動作するので、

必ずしも設計図の中身を理解する必要がありません。

人間がiPhonやパソコンを使うときに、中でどんな動作をしているのかを理解していなくても、操作できてしまうといったイメージです。

なので、簡単にプログラムを書くことができてしまいます。

大人数で開発する際、プログラムを他者が壊す恐れが減る。

設計図の中身を理解する必要がなく、変更する必要もないので、致命的なコードのミスを減らすことができます。

まとめ

オブジェクト指向のプログラミングの概念と書き方、メリットについて説明しました。プログラムを書くにあたって、非常に重要な概念だと思うので、しっかり理解しておきたいところです。

また、下記がインターンをしているNexSeedという「プログラミング×英語」の勉強ができるセブにある学校です。

起業志向の人や、フリーランスを目指す人等、意識の高い人が多く、自分も良い刺激をもらっています。

留学を考えているけど、英語だけじゃ物足りないと感じる人、起業やフリーランスとして働くことを見据えている人は是非見てみてください!

スポンサードリンク