クラスとインスタンス化

まずは訂正から
JavaFXをはじめよう - 気になるITまわり
でdefは初期化が必要と書いていますが、defは基本的に一度しか代入できない、つまり定数っぽいですね。

def a = 4;
a = 3;

つまり、これだと2行目でエラーが出ます。

ここからが今日の本題。
まず、クラス。たいしてJavaと変わらない

class Person {
    var name: String;
    var age: Integer;
    function introduce(): Void {
        println("My name is {name}! {age} years old.");
    }
}

インスタンス変数はvarで定義。
メソッドはfunctionで定義。戻り値はメソッド名定義の後ろ。
これくらいでたいしてJavaと変わりがない。

このクラスのインスタンス化は

def p = Person {
    name: "Hiroaki"
    age: 27
}
p.introduce();

こんな感じ。

Javaっぽくnewを使う事も可能

def p2 = new Person();
p2.name = "hiroaki";
p2.age = 27;
p2.introduce();

こんな感じ。

でも、やっぱりJavaFXやってるんだから、上のような書き方が個人的には好み。

JavaFXにももちろんアクセス修飾子があるけど、それはまた今度。