石田修二 > コンピュータメモ > 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