石田修二 > コンピュータメモ > Java > (サイト内検索)
データを中心に考えます。
プログラムをデータ同士の連携と考えます。
プログラムを舞台としてイメージしましょう。プログラムはいわば舞台監督です。データに呼びかけて,指示を与えます。データは呼びかけを受けて,具体的に動きます。登場するデータをインスタンスと呼びます。
データは「情報の集まり」+「呼びかけに応じた処理」。情報をフィールド,処理をメソッドと呼びます。プログラムに登場するデータがメソッドを持つのか定めたものをクラスと呼びます。
画面には楕円や長方形が描画され,移動します。図形を登場人物として考え,図形データに対して,呼びかけに応じて動いてもらいます。登場データが決まったら,各データのクラスを設計していきましょう。クラスを設計するには,情報としてのフィールドに何を持ち,また機能として何を持たせるのか考えます。
長方形を例に考えてみましょう。
この左上座標で,長方形の位置を表すことにします。
型は整数 int 型としています。double 型など小数点以下を考えるのもあり,ですが最終的な図形描画の際には,整数しか使えないので,int 型がいいでしょう。
では,長方形クラスを作成してみましょう。作成が終わったら,Rect2A.jaca という名前で保存し,コンパイルしておきます。
public class Rect2A {
int x; // 始点 x座標
int y; // 始点 y座標
int width; // 幅
int height; // 高さ
}
次に,長方形クラスを使って,メインの処理進行を行うプログラム(work2A.java)を作成します。
public class work2A {
public static void main(String[] args) {
// TODO Auto-generated method stub
Rect2A r1 = new Rect2A();
r1.x = 10;
r1.y = 20;
r1.width = 100;
r1.height = 50;
System.out.println("長方形 位置(" + r1.x + "," + r1.y + ")幅" + r1.width + ", 高さ" + r1.height);
}
}
2つの長方形を扱えるように work2A.java を変更し,それぞれ以下のように設定しましょう。
2つの長方形を扱うというところがミソ。なので,インスタンスは2つ必要になります。
public class work2A {
public static void main(String[] args) {
Rect2A r1 = new Rect2A();
r1.x = 10;
r1.y = 20;
r1.width = 100;
r1.height = 50;
System.out.println("長方形 位置(" + r1.x + "," + r1.y + ")幅" + r1.width + ", 高さ" + r1.height);
Rect2A r2 = new Rect2A();
r2.x = 40;
r2.y= 30;
r2.width = 60;
r2.height = 80;
System.out.println("長方形 位置(" + r2.x + "," + r2.y + ")幅" + r2.width + ", 高さ" + r2.height);
}
}
リンクはご自由にどうぞ。
【石田修二トップページ】 【コンピュータメモ】 【Java】
Last modified: 2016-03-09 15:20:48