groovyでmixin
2008/07/24
groovy
mixin
- mixinとMixinアノテーション - Grな日々(uehajの日記)
- mixinを試してみた - fujwaraの日記
- Mixins - Groovy JSR - Codehaus
- Groovy - PoorMansMixins
- Mixin - Wikipedia
- いげ太のブログ: C# 3.0 で拡張メソッドによる Mix-in 的ななにか
Mixins - Groovy JSR - Codehausをみてるといろいろあって混乱してしまう。
自分がmixinを使いたくなる場面がいまのところ想像できないけど、惹かれるんですよねmixinに。
適当に試してみました。
犬と猫を混合させてみようとしたのですが....
class Dog {
static void bow(t, String s) {
println "bow-wow $s"
}
}
class Cat {
static void mew(t, String s) {
println "mew $s"
}
}
Cat.mixin(Dog)
new Cat().bow('a')
Dog.mixin(Cat)
new Dog().mew()
class DoggyCat {
}
DoggyCat.mixin(Dog, Cat)
new DoggyCat().bow('o_o')
new DoggyCat().mew('o_o')
static void bow(t, String s) {
println "bow-wow $s"
}
}
class Cat {
static void mew(t, String s) {
println "mew $s"
}
}
Cat.mixin(Dog)
new Cat().bow('a')
Dog.mixin(Cat)
new Dog().mew()
class DoggyCat {
}
DoggyCat.mixin(Dog, Cat)
new DoggyCat().bow('o_o')
new DoggyCat().mew('o_o')
bow-wow a
mew null
bow-wow o_o
mew o_o
: