今回はコードを書きません。
プログラミングしていくうえで便利になる考え方みたいなものです。
オブジェクト指向には「クラス」という考え方があります。クラスとはこれから作る『モノの定義』です。
p5.jsで教えた弾とか敵とか自機で使ったクラスのことです。
そのモノの定義がまさに前述の弾、敵、自機のことです。
弾、敵、自機はそれぞれ動く等の色々な動作をします。
そういうそれぞれの動きをクラスごとに組み込むと整理しやすいです。
次からはそのオブジェクト指向の3つの特徴について教えます。
(これらの特徴の機能はp5.jsになかったりします)
カプセル化
C#やJAVA等の言語で使うことができます。
変数を宣言するとき、言語によって違うこともありますが、他のクラスから変数の値を変更や参照できたり、自分のクラスしか値を変更できないけど他のクラスから参照できるよということができたりします。
C#やJAVAだと修飾子で設定できます。
他のクラスから変数の値を変更や参照できるpublic
public int x;
自分のクラスしか値を変更できないけど他のクラスから参照できるprotected
private int x;
何でそんなことをするかというと、変数を宣言する時に違うクラスだけど同じ変数っていうのが良くあります。
そのため、値の変更でごっちゃにならないようにこの仕組みがあります。
継承
既存のクラスから拡張して違うクラスを作ることです。
例えば、「キャラクター」というクラスがあったとします。
そのクラスを拡張して「敵」「自機」というクラスを作ります。
そうすることで、基本的に同じ動きをするけれども、違うモノのクラスを作りたい時に使います。
ポリモーフィズム(多態性)
継承で作ったり、違うクラスだけど同じ名前のメソッドで違う動作をしたいという時に使います。
例えば、「キャラクター」を継承して作った「敵」と「自機」で「攻撃」というメソッドを作ったとします。
しかし、この「攻撃」メソッドをそれぞれ違う動作をしたいです。
「自機」の「攻撃」は攻撃と同時に稲妻を発射。
「敵」の「攻撃」は毒攻撃をする。
という風に設定することができます。
コメント