あっくんブログ Written by Akihiro Tsuji

JavaScriptのオブジェクト指向

JavaScript プログラミング

こんにちはあっくんです。最近、肌が荒れすぎて、対応できていません。結構なつらみです。自分の免疫にプログラムされてる肌荒れというコードを書き換えて、健康になりたいです。脳というエディターに、自分で健康になるというコードを書き換えれたらいいのになーって思います。頑張れ、僕の脳、そして細胞。

JavaScriptのオブジェクト指向について、いっしょに やっていきましょう!

オブジェクト思考とは?

オブジェクト思考とは、大きなプログラムを効率よく開発して管理する手法です。
オブジェクト思考はものやものや対象という意味です。

4つの特徴があります。

  • カプセル化
  • クラスとインスタンス
  • 継承
  • 多様性

カプセル化

プログラムの一部をモノに見立てて、関連するデータや処理(関数)をひとまとめにします。そして、外部とのインターフェースになる値や関数を一部公開して、残りは隠蔽します。

例、自動販売機です。利用者はお金を入れて、商品を受け取る。自動販売機は中身を交換しても、利用する人は気にせずに使用が可能です。
プログラムは外部の接点以外は、自由に中身を変更できます。中身を変更しても外部に影響がありません。

クラスとインスタンス

テンプレートととなるクラスがあり、そこから実態化したインスタンスを作り、データをあつかいます。インスタンスはクラスで定義した関数も使えます。

例、自動販売機
機械の設計図がクラス。
機械を製造がインスタンス化。
実際の機械がインスタンス。

継承

クラスは継承してあたらしいクラスを作れます。元になったクラスは親クラス、新しいクラスは小クラスと呼ばれます。小クラスは親クラスの特徴を全てもっており、その上で、一部のデータや昨日が変わったり、新しいデータのや機能が加わったりします

例、車
元の車種が親クラス。
改良が、継承。
新しい車種が小クラス。

多様性

多様性あるいはポリモーフィズムと呼ばれます。異なるオブジェクトが同じ関数をもっており、それぞれ内部では、違う処理を行うことを指します。

例、蛍光灯のスイッチを押すと、LEDのスイッチを押す。同じ命令で中身が違います。

JavaScriptのオブジェクト指向

JavaScriptはES6(ES2015)からクラスの仕様が入りました。大規模なプログラムを、オブジェクトトという形で構造化して書くことができます。


JavaScriptのクラスを使ったオブジェクト指向プログラミングでできること。

  • クラスからインスタンスを生成できます。
  • new演算子でインスタンスのオブジェクトを生成できます。
  • インスタンスメソッドが使えます。
  • 静的メソッド、静的プロパティが作れます。
  • 継承ができます。