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方法也好,都不应该混淆这些入口方法,要保持访问方法的唯一性。
分享到:
相关推荐
《全面解析MS GINA源代码:gina.sample.zip_full_gina_gina_source_code》 在Windows操作系统中,GINA(Gina Interface for Network Authentication)是一个关键组件,它负责用户登录时的身份验证过程。本篇文章将...
《My Name Is Gina》教案是针对七年级英语教学的一个单元,该单元主要集中在学习和复习数字,特别是从0到9的英文表达。本教案详细规划了教学内容、目标、学习者特征、教学策略、教学重点与难点,以及教学过程。 一...
在Windows中,GINA模块是动态链接库(DLL)文件,通常命名为`winlogon.exe Gina.dll`。这个压缩包中的子文件"GINA1"可能就是这样的一个自定义DLL文件,用于替代默认的系统GINA,以实现特定的功能。 自定义GINA实现...
哮喘作为全球性的公共卫生问题,一直是医学研究和临床实践关注的重点之一。据估计,全球有大约3亿人受到哮喘的困扰,其在儿童中的发病率呈上升趋势。哮喘,是一种以气道炎症为特征的慢性疾病,表现为反复发作的喘息...
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 ...
这篇文档是关于小学英语教学的教案,主要针对的是Unit1 "My name is Gina!" 这一单元的教学设计。这个单元的重点在于教授学生如何用英语进行自我介绍,如何交朋友,以及如何使用问候语和表达电话号码。以下是这个...
**GINA.dll (Graphical Identification and Authentication Dynamic Link Library)** 是Windows操作系统中用于处理用户身份验证的关键组件,特别是在Windows 2000/NT系统中。它作为Winlogon的一个插件,负责图形化的...
这篇PPT课件是针对七年级英语学习的内容,主要涵盖了自我介绍、朋友介绍、口语对话、歌曲学习、数字认知、电话号码练习以及姓名理解等多个方面。 1. 自我介绍:在学习英语时,基础的自我介绍是非常重要的。...
这篇文档是关于山东省北集坡街道办事处第一中学八年级英语课程的教学方案,主要涉及的是《My name’s Gina》这一单元的第一节课Section A的1a、1b和1c部分。教学设计由潘平老师编写,旨在教授学生们如何自我介绍以及...
Unit 1 My name’s Gina. Section B.enbx
gina.vim, 在 neovim/vim 8中,异步控制git存储库 gina.vim ( 吉娜) 是一个异步控制git仓库的插件。插件是基于 lambdalisue/vim-gita的成功而开发的。 因此 gina.vim 拥有 vim-gita的大部分优秀
GINA之Windows登录控制替换 在Windows操作系统中,登录控制是由WinLogon和GINA DLL共同实现的。GINA DLL提供了一个交互式的界面为用户登录提供认证请求,而WinLogon则负责调用GINA DLL来实现登录控制。 在NT/2000/...
**Windows登录Gina.Dll详解** Windows登录过程中,Gina(Graphical Identification and Authentication)扮演着关键角色。Gina全称为图形识别与认证模块,是Windows操作系统中的一个动态链接库(Dll),主要用于...
在这个项目中,`sevr7gina.github.io-main`很可能是项目的主分支或主目录,包含着整个网页的源代码。通常,一个基本的HTML项目结构可能包括以下几个部分: 1. **index.html** - 这是网站的主页,通常包含网站的主要...
**GINA(Graphical Identification and Authentication)**是Windows操作系统中的一部分,主要负责用户的身份验证过程。在Windows XP和Server 2003中,GINA是登录界面的核心组件,允许开发者自定义登录屏幕的行为和...
在Windows XP和Server 2003之前,Gina.dll是自定义登录界面的关键组件,允许开发者创建自己的身份验证模块以实现特定的安全策略。 在标题" Gina dll编写"中,我们聚焦的是如何开发和编写Gina动态链接库(DLL)。...
Gina.dll是Windows系统中负责用户身份验证的核心组件,它在用户登录时处理密码输入、认证以及与安全子系统的交互。通常,这个组件是不可修改的,以保护系统的安全性。但为了满足特殊需求或进行定制化开发,一些...