`
agile_boy
  • 浏览: 554302 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

GINA之Groovy的".@"语法

阅读更多
GINA:Groovy In Action
预备知识介绍:Groovy的Bean,可以直接定义其属性,而不需要象Java那样有对于的get/set方法(其实Groovy在背后已经偷偷的帮你完成)。比如
// Java
public class MyBean implements java.io.Serializable {
private String myprop;
public String getMyprop(){
return myprop;
}
public void setMyprop(String value){
myprop = value;
}
}

对应的Groovy代码只需这样即可
class MyBean implements Serializable {
String myprop
}

    再看如下代码
class DoublerBean {
public value
void setValue(value){
this.value = value
}
def getValue(){
value * 2
}
}
def bean = new DoublerBean(value: 100)
assert 200 == bean.value
assert 100 == bean.@value

    首先11行的bean.value将调用getValue并且返回双倍的value值,但请注意第7行的代码显示,如果此处的value也是getValue调用的话,那将得到一个无穷尽的递归调用。同理setValue也是。
    因此引出Groovy的Bean规则:在field的词法范围内(Inside the lexical scope of a field)对实例fieldname或者this.fieldname的引用,将被解释为字段(field)。范围以外的时候,可以通过实例.@fieldname来访问。
    结论:将Bean的熟悉信息作为Field(.@语法)也好,Property也好,或者set/get方法也好,都不应该混淆这些入口方法,要保持访问方法的唯一性。
1
0
分享到:
评论
1 楼 JohnnyJian 2008-01-31  
学习中……

相关推荐

    gina.sample.zip_full_gina_gina source code

    《全面解析MS GINA源代码:gina.sample.zip_full_gina_gina_source_code》 在Windows操作系统中,GINA(Gina Interface for Network Authentication)是一个关键组件,它负责用户登录时的身份验证过程。本篇文章将...

    《My name is Gina 》教案.pdf

    《My Name Is Gina》教案是针对七年级英语教学的一个单元,该单元主要集中在学习和复习数字,特别是从0到9的英文表达。本教案详细规划了教学内容、目标、学习者特征、教学策略、教学重点与难点,以及教学过程。 一...

    GINA1.zip_gina_zip

    在Windows中,GINA模块是动态链接库(DLL)文件,通常命名为`winlogon.exe Gina.dll`。这个压缩包中的子文件"GINA1"可能就是这样的一个自定义DLL文件,用于替代默认的系统GINA,以实现特定的功能。 自定义GINA实现...

    GINA-DLL.zip_MyGina_by8843.com网站_gina_personal_smart card Gina

    By replacing GINA, we can choose the authentication mechanism that Windows will use (ex: smartcard or biometric logons).Our Gina (MYGINA) is designed to provide the user authentication locally or a ...

    2006年GINA中文版.pdf

    《2006年GINA中文版》是一个关于哮喘防治的全球性倡议,旨在提高对哮喘的认识和管理水平。哮喘是一种慢性气道炎症性疾病,表现为反复发作的喘息、气促、胸闷和咳嗽,尤其在夜间和清晨。全球约有3亿人受此疾病困扰,...

    正式篇Unit1_My_name_is_Gina!教案.doc

    这篇文档是关于小学英语教学的教案,主要针对的是Unit1 "My name is Gina!" 这一单元的教学设计。这个单元的重点在于教授学生如何用英语进行自我介绍,如何交朋友,以及如何使用问候语和表达电话号码。以下是这个...

    GINA.dll 各函数介绍

    **GINA.dll (Graphical Identification and Authentication Dynamic Link Library)** 是Windows操作系统中用于处理用户身份验证的关键组件,特别是在Windows 2000/NT系统中。它作为Winlogon的一个插件,负责图形化的...

    七年级英语上Unit My names Gina sectionBPPT课件.pptx

    这篇PPT课件是针对七年级英语学习的内容,主要涵盖了自我介绍、朋友介绍、口语对话、歌曲学习、数字认知、电话号码练习以及姓名理解等多个方面。 1. 自我介绍:在学习英语时,基础的自我介绍是非常重要的。...

    山东省北集坡街道办事处第一中学八年级英语《My name’s Gina》教案 .docx

    这篇文档是关于山东省北集坡街道办事处第一中学八年级英语课程的教学方案,主要涉及的是《My name’s Gina》这一单元的第一节课Section A的1a、1b和1c部分。教学设计由潘平老师编写,旨在教授学生们如何自我介绍以及...

    Unit 1 My name’s Gina. Section B.enbx

    Unit 1 My name’s Gina. Section B.enbx

    gina.vim, 在 neovim/vim 8中,异步控制git存储库.zip

    gina.vim, 在 neovim/vim 8中,异步控制git存储库 gina.vim ( 吉娜) 是一个异步控制git仓库的插件。插件是基于 lambdalisue/vim-gita的成功而开发的。 因此 gina.vim 拥有 vim-gita的大部分优秀

    GINA之windows登录控制替换

    GINA之Windows登录控制替换 在Windows操作系统中,登录控制是由WinLogon和GINA DLL共同实现的。GINA DLL提供了一个交互式的界面为用户登录提供认证请求,而WinLogon则负责调用GINA DLL来实现登录控制。 在NT/2000/...

    Windows登录Gina的Dll

    **Windows登录Gina.Dll详解** Windows登录过程中,Gina(Graphical Identification and Authentication)扮演着关键角色。Gina全称为图形识别与认证模块,是Windows操作系统中的一个动态链接库(Dll),主要用于...

    sevr7gina.github.io

    在这个项目中,`sevr7gina.github.io-main`很可能是项目的主分支或主目录,包含着整个网页的源代码。通常,一个基本的HTML项目结构可能包括以下几个部分: 1. **index.html** - 这是网站的主页,通常包含网站的主要...

    修改GINA,自己实现Windows登陆过程

    **GINA(Graphical Identification and Authentication)**是Windows操作系统中的一部分,主要负责用户的身份验证过程。在Windows XP和Server 2003中,GINA是登录界面的核心组件,允许开发者自定义登录屏幕的行为和...

    Gina dll编写

    在Windows XP和Server 2003之前,Gina.dll是自定义登录界面的关键组件,允许开发者创建自己的身份验证模块以实现特定的安全策略。 在标题" Gina dll编写"中,我们聚焦的是如何开发和编写Gina动态链接库(DLL)。...

    替换gina登录界面

    Gina.dll是Windows系统中负责用户身份验证的核心组件,它在用户登录时处理密码输入、认证以及与安全子系统的交互。通常,这个组件是不可修改的,以保护系统的安全性。但为了满足特殊需求或进行定制化开发,一些...

Global site tag (gtag.js) - Google Analytics