a-17 オブジェクト
Mar 30, 2021
a-17 オブジェクトとクラス
「オブジェクト」は、たくさんの値を持つことができ、複数の変数と関連する関数をパッケージ化することでより扱いやすくなります。
「オブジェクト」を作る前には「クラス(class)」を定義する必要があります。
「クラス」は、「オブジェクト」の仕様を定めたものです。
「クラス」には全てのデータ型が使えます。
「Circle」という名前のクラスを定義してみます。
class Circle {//class クラス名(頭は大文字推奨) float x, y, speed; int eSize; //コンストラクタ Circle (float tempY, int tempEsize, float tempSpeed) { x = 0.0; //x座標の初期値 y = tempY;//y座標の初期値 eSize = tempEsize; speed = tempSpeed; } //円の位置を更新するメソッド void update() { x += speed; if (x > width) { x = 0; } } void display() { ellipse(x, y, eSize, eSize); //円を描画 } }
「クラス」を定義したら「オブジェクト」を作成します。
Circle c1,c2,c3;//オブジェクト変数を宣言 class名 変数名 void setup() { size(400, 400); noStroke(); fill(247,219,73); //インスタンスを作成 c1 = new Circle(50, 10, 5.0);//サイズ,y座標,スピード c2 = new Circle(150, 40, 3.0); c3 = new Circle(300, 40, 1.0); } void draw() { background(0); c1.update(); c1.display(); c2.update(); c2.display(); c3.update(); c3.display(); }