国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Groovy閉包委托

2019-11-08 19:29:53
字體:
供稿:網(wǎng)友

Groovy閉包委托

1、閉包的三個屬性this、owner和delegate,用來確定那個對象處理該閉包的方法調(diào)用。在內(nèi)部的閉包中,owner和delegate的值被修改了。
def parameterClosure(closure) {	closure()}parameterClosure() {	PRintln "In Outer Closure"	println "this is " + this	println "owner is " + owner	println "delegate is " + delegate		parameterClosure() {		println "In Inner Closure"		println "this is " + this		println "owner is " + owner		println "delegate is " + delegate	}}返回In Outer Closurethis is ConsoleScript37@1372443owner is ConsoleScript37@1372443delegate is ConsoleScript37@1372443In Inner Closurethis is ConsoleScript37@1372443owner is ConsoleScript37$_run_closure1@3acd6fbedelegate is ConsoleScript37$_run_closure1@3acd6fbe2、類中調(diào)用閉包時,this、owner和delegate三個屬性的值都是上下文。
class ParameterClosure {	def handleClosure(closure) {		closure()	}}new ParameterClosure().handleClosure () {	println "this is " + this	println "owner is " + owner	println "delegate is " + delegate}返回this is ConsoleScript43@1d476b4bowner is ConsoleScript43@1d476b4bdelegate is ConsoleScript43@1d476b4b3、方法的執(zhí)行順序,首先是this,其次是owner,最后是delegate。可以設置delegate來修改路由。
class Handler {	def f1() {		println "f1 in Handler"	}	def f2() {		println "f2 in Handler"	}}class ParameterClosure {	def handleClosure(closure) {		closure.delegate = new Handler()		closure()	}}def f1() {	println "f1 in script"}new ParameterClosure().handleClosure () {	f1()	f2()}返回f1 in scriptf2 in Handler
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 星子县| 夏河县| 康定县| 林西县| 岗巴县| 仙桃市| 宝鸡市| 虎林市| 贺州市| 独山县| 青川县| 盐边县| 文化| 库车县| 西贡区| 外汇| 漳州市| 临汾市| 石棉县| 时尚| 阳西县| 集贤县| 平昌县| 丰顺县| 达日县| 克什克腾旗| 三明市| 曲松县| 白水县| 泽库县| 罗田县| 池州市| 大姚县| 措美县| 奉化市| 石阡县| 新津县| 宁津县| 新丰县| 浦北县| 四会市|