JavaFX Scriptにおけるクラスの作成方法
このサンプルアプリケーションでは、アプリケーションが使用するデータを格納するためのモデルクラスを作成した。こうした、MVC(モデル-ビュー-コントローラ)パターンはJavaFXプログラミングにおいても、データと表示を分離できるという点でやはり有効だ。
このように、JavaFXではクラスを作成するのも非常に簡単だ。クラスの作成方法に関する詳しい解説は別の機会に譲るとして、本稿ではポイントを押さえた簡単な解説を以下に行う。
JavaFXにおけるクラスの作成方法とその注意点は以下のようなものだ。
- クラスの宣言方法は、「
class クラス名 {}
」というようにclass
キーワードを用いる - クラスは、
extends
キーワードを用いて別のクラスを継承できる。継承するクラスの数に制限はない - クラス内には、「属性(attribute)」「関数(function)」「オペレーション(operation)」を含めることができる
- クラスの宣言と定義は別々の場所で行う。以下のコードを参照
こうしたポイントをすべて網羅したコードを以下に示す。
リスト3:JavaFX Scriptにおけるクラスの宣言、定義
//===== 親クラス1の宣言
class Parent1 {
attribute a:Integer;
}
// 親クラス1の属性定義
attribute Parent1.a = 888;
//===== 親クラス2の宣言
class Parent2 {
operation ope():String;
}
// 親クラス2のオペレーションを定義
operation Parent2.ope():String {
return "Parent2.ope() is called";
}
//===== 2つの親クラスを多重継承したクラスChildを作成
class Child extends Parent1, Parent2{
}
var child = new Child();
// 実行結果は"a=888, b=Parent2.ope() is called"となる
System.out.println("a={child.a}, ope()={child.ope()}");
このサンプルのまとめ
このサンプルコードでは、クラスの作成方法とbind属性の使用法(増分評価)が最も大きなポイントだ。これらのテクニックによるモデルとビューの分離は、JavaFXにおけるUIプログラミングの基本中の基本とも言えるものなので、しっかり身につけておきたい。 他にも、文字列リテラル内でJavaFX Script式を使用する方法(「{}」の使用)や、フローパネル、テキストフィールドといったUIコンポーネントについても解説した。