【发布时间】:2011-07-02 12:40:39
【问题描述】:
class A {
def test() { println "parent" }
}
@Mixin(A)
class B {
def test() { println "child" }
}
new B().test() // prints "parent", but I am expecting it to print "child"
这看起来像是某种反向继承。
mixins 是否仅用作定义新方法的一种手段?
我当然可以使用传统继承并使用扩展,但用例需要一个表单构建器,其中每个域都有一个独特的表单实现,我想在我的应用程序控制器中捕获表单请求并执行 MyUniqueDomainForm .mixin DefaultFormMethods(所以我只需要在需要的时候定义默认方法,也不必在每个表单类中导入my.package.app.DefaultFormMethods)
【问题讨论】: