1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
// Example: Two Car objects Car myCar1; Car myCar2; // myCar1とmyCar2という2つのオブジェクト型変名を作る void setup() { size(200,200); // Parameters go inside the parentheses when the object is constructed. // myCar1 というオブジェクト型変名に、new Car()で今作るオブジェクトを参照させる。 // この中身の機能・設定は、クラスのプロパティ・コンストラクタ・メソッドで設定する。 myCar1 = new Car(color(255,0,0),0,100,2); myCar2 = new Car(color(0,0,255),0,10,1); } void draw() { background(255); myCar1.drive();// drive()というファンクションを発動。(メソッドをコールする) myCar1.display(); myCar2.drive(); myCar2.display(); } // 「Car」というクラス(集合)を設定していくフェイズ class Car {//「Car」というクラスを作ります color c; //カラー型のCという名前の変数を「Car」集合の中に作ります = 〜というプロパティ(属性)を持ちます float xpos; //フロート型のxposという名前の変数を「Car」集合の中に作ります = 〜というプロパティ(属性)を持ちます float ypos; float xspeed; // コンストラクタの設定 // コンストラクタとは[myCar1 = new Car(color(255,0,0),0,100,2);]等とコードを書いてオブジェクトを // 新しく作成したときに、同時にオブジェクトのプロパティの値を設定することができる機能。 Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) { c = tempC; //Carクラスが持つcプロパティに、引数tempCを入れた状態で、オブジェクトを作成する。 xpos = tempXpos; //Carクラスが持つxposプロパティに、引数tempXposを入れた状態で、オブジェクトを作成する。 ypos = tempYpos; //正確に書くなら、this.xposと表すこともできる。 xspeed = tempXspeed; } void display() { 集合Carにdisplay()というfunction(機能)を持たせる。〜というmethodを持たせる。 stroke(0); fill(c); rectMode(CENTER); rect(xpos,ypos,20,10); //xposは集合Carのプロパティにあるので、それを使うことになる。正確に書くなら、this.xposと //ともできる。 } void drive() { xpos = xpos + xspeed; if (xpos > width) { xpos = 0; } } } クラス継承 http://yoppa.org/proga10/1239.html |
クラス継承
http://yoppa.org/proga10/1239.html
One comment