私がこのようなクラスを持っているとしましょう:
class Foo {
def doFoo() {
println "foo"
}
}
そしてこのような別のもの:
class Bar {
def doBar() {
println "bar"
}
}
そして、次のようになります。
class Baz {
Foo foo = new Foo()
Bar bar = new Bar()
}
その例では、次のように使用できるようになるには何が必要でしょうか。
Baz baz = new Baz()
baz.doFoo()
baz.doBar()
どこdoFoo
とdoBar
メソッド呼び出しは、単純に、それぞれのオブジェクトで定義されたバージョンに委任しますか?ある種のメタプログラミングでこれを行う方法はありますか、それとも各メソッドをラッパーとして個別に定義することに固執していますか?
@Delegate
必要なものは次のとおりです。
class Foo {
def doFoo() {
println "foo"
}
}
class Bar {
def doBar() {
println "bar"
}
}
class Baz {
@Delegate
Foo foo = new Foo()
@Delegate
Bar bar = new Bar()
}
Baz baz = new Baz()
baz.doFoo()
baz.doBar()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加