grails – groovy闭包继承

grails – groovy闭包继承,第1张

概述继承如何在groovy中用于闭包?有什么特别需要注意的吗?我的应用程序是扩展一个插件控制器,如果有任何更新,我需要单独留下. 闭包继承没有多大意义(无论如何我们倾向于使用它们).实践中的闭包是Closure类的一个实例.如果我们创建了Closure的子类,那么我们可以将它们子类化,但我们不能.例如,在控制器中,我们将 *** 作定义为内联实例,例如 def list = {...} 这些被视为方法,因 继承如何在groovy中用于闭包?有什么特别需要注意的吗?我的应用程序是扩展一个插件控制器,如果有任何更新,我需要单独留下.解决方法 闭包继承没有多大意义(无论如何我们倾向于使用它们).实践中的闭包是Closure类的一个实例.如果我们创建了Closure的子类,那么我们可以将它们子类化,但我们不能.例如,在控制器中,我们将 *** 作定义为内联实例,例如

def List = {...}

这些被视为方法,因为我们可以调用List(),但这只是List.call()的语法糖,因为call()是Closure类的实例方法.

在Grails 2.0中,创建控制器 *** 作的首选方法是使用方法,尽管仍然支持闭包以实现向后兼容性.这种切换的主要原因之一是支持过载和覆盖,这对于内联闭合是不可能的(或至少是实际的).您可以在子类中定义一个与基类实例同名的闭包实例,但是您不能调用super.List(),因为它会导致StackOverflowError

总结

以上是内存溢出为你收集整理的grails – groovy闭包继承全部内容,希望文章能够帮你解决grails – groovy闭包继承所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1220581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存