加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

grails – groovy闭包继承

发布时间:2020-12-14 16:23:12 所属栏目:大数据 来源:网络整理
导读:继承如何在groovy中用于闭包?有什么特别需要注意的吗?我的应用程序是扩展一个插件控制器,如果有任何更新,我需要单独留下. 解决方法 闭包继承没有多大意义(无论如何我们倾向于使用它们).实践中的闭包是Closure类的一个实例.如果我们创建了Closure的子类,那
继承如何在groovy中用于闭包?有什么特别需要注意的吗?我的应用程序是扩展一个插件控制器,如果有任何更新,我需要单独留下.

解决方法

闭包继承没有多大意义(无论如何我们倾向于使用它们).实践中的闭包是Closure类的一个实例.如果我们创建了Closure的子类,那么我们可以将它们子类化,但我们不能.例如,在控制器中,我们将操作定义为内联实例,例如

def list = {
...
}

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读