for文 なし(同じことを3回書く)
println("hello");
println("hello");
println("hello");
同じことを効率よく、分かりやすく、間違えにくくするために、プログラミングでは for文、クラス、オブジェクトを使います。
同じ出力だけど、3回もおなじことを書くのは手間だし間違えるリスクもある。なので、人類は for文 を発明した。
println("hello");
println("hello");
println("hello");
for(int i=0;i<3;i++){
println("hello");
}
「同じことを何度も書かなくていい」これがプログラミングの知恵!
同じように Processing(Java)で、クラスとオブジェクトを人類は発明した。rect() を使って四角を3つ描画してもいいけど、class MyRect を定義して rect1.draw みたいに書くと分かりやすい。
rect(50, 50, 80, 60);
rect(160, 50, 80, 60);
rect(270, 50, 80, 60);
MyRect rect1 = new MyRect(50, 50, 80, 60);
MyRect rect2 = new MyRect(160, 50, 80, 60);
MyRect rect3 = new MyRect(270, 50, 80, 60);
rect1.draw();
rect2.draw();
rect3.draw();
これは四角を管理するクラス(設計図)
class MyRect {
// 必要な情報(フィールド)
int x, y, w, h;
// 可能な動作(メソッド)
void draw() {
rect(x, y, w, h);
}
}
必要な情報はこれ
位置やサイズ(x, y, w, h)
可能な動作はこれdraw() で四角を描く
今までのプログラミングは上から順番に実行だったけど、Class は設計書なので実行されない。オブジェクトを生成して、オブジェクトの動作を命令した時に初めて実行される。
順番に実行される。
class MyRect {
int x, y, w, h;
void draw() {
rect(x, y, w, h);
}
}
これは「設計図」。ここを読んでも何も描かれないし、実行もされない。
MyRect rect1 = new MyRect(50, 50, 80, 60);
設計図から「実物」を作る。これが rect1(オブジェクト)。
rect1.draw();
命令したから、ここで初めて実行される。四角が描かれる!