オブジェクト
世の中には、様々なモノが存在し、そのモノにはそれ特有の機能がある。またその機能は拡張されたり、変更されたりもするが、それらの機能を使って、他のモノと複合して新たな機能を作ることができます。
オブジェクト指向
プログラミングの世界でも、機能を持った小さなモノを組み合わせて、大きなプログラムを作成するような考え方が生まれてきました。この考え方がオブジェクト指向です。
オブジェクト
オブジェクトには、フィールド(変数)とメソッド(関数)があり、変数をフィールド、関数をメソッドと呼ぶのが一般的です。要するに、フィールドは性質などを表わすデータ、メソッドは動的な振る舞いや性質の問い合わせや変更などに使われます。
例えば、ボールを考えて見ましょう。ボールのフィールドには,直径,位置x,位置y,速度x,速度y,などが考えられます。メソッドには、移動 move()、現在の位置x、現在のyの呼び出しgetX(), getY()や速度の再設定 setV( vx, vy )など
が考えられます。
JavaScriptでは、オブジェクトの定義にはクラスが使われます。 オブジェクトの生成と使用
オブジェクトは、モノですから、使うときには生成します。例えば上のBallクラスの例では、
オブジェクトの生成は、new クラス名(/引数/)で行います。
b1 = new Ball(0,0,100); // 位置(0,0)に直径100のボールを作成
b2 = new Ball(100,200,50);// 位置(0,0)に直径100のボールを作成
作成したら、メソッドを使ってボールと対話しながら動かしたり、色を変えたりします。直径を変更する必要があるとなったら、直径を変更するメソッドを作ります。(例えば、setDiameter(diameter))
b1.setV(10,100) ; // 速度を設定
b2.setV(0,-10);
b1.move();
b2.move();
console.log(b1.getX(), b1.getY());
console.log(b2.getX(), b2.getY());
このような操作のメソッドがボール自身に持っていることは、プログラムにとって非常に重要な性質の管理を容易にすることができます。