def rnd = new Random()例えば、こんな具合に実行すると、Randomインスタンスを作り、0~99の乱数を取得し表示します。実に簡単! Groovyでは変数宣言に型を指定する必要がありませんが、これはインスタンスの場合でも同じ。上の例なら、Random rnd = ○○と書いても、def rnd = ○○と書いても問題なく動きます。
def n = rnd.nextInt(100)
println(n)
class クラス名 {クラスの定義そのものは、「class ○○」という形で記述します。これはJavaと同様ですね。フィールドは変数ですから、defで定義できます(型名を指定してももちろん可能です)。
def フィールド名
// コンストラクタ
クラス名 ( 引数 ){
……処理……
}
def メソッド名 ( 引数 ){
……処理……
}
}
class MyObj {クラスMyObjを定義し、それを使っています。やたらと「def」が出てきますが、それ以外の点ではほとんどJavaと同じですね。
def name
def mail
MyObj(nm,ml){
name = nm
mail = ml
}
def print(){
println("name:${name}")
println("mail:${mail}")
}
}
def obj = new MyObj("tuyano","syoda@tuyano.com")
obj.print()
class クラス名 extends スーパークラス名 {……}継承を利用する場合も、Javaと同様に「extends」を使います。これはまったく違いはありません。
interface インターフェイス名 {……}
class クラス名 implements インターフェイス名 {……}インターフェイスも、ほぼJavaと同じ書き方です。classの代りにinterfaceをつけて定義します。ただしそこで書かれるメソッドは「def メソッド名」というGroovyライクな書き方になりますが。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※クラスを使う例 def rnd = new Random() def n = rnd.nextInt(100) println(n) ※クラスの利用例 class MyObj { def name def mail MyObj(nm,ml){ name = nm mail = ml } def print(){ println("name:${name}") println("mail:${mail}") } } def obj = new MyObj("tuyano","syoda@tuyano.com") obj.print() ※インターフェイスの利用例 interface Myface { def helo() } class Myobj implements Myface { int helo(){ print("helo!") } } def obj = new Myobj() obj.helo()
<< 前へ | 次へ >> |