Electronic Joint Business

Solution for E-Business

Groovy 1.0 用户指南 (三) 类和闭包

Groovy 的语法是始终围绕灵活性这个特性进行设计的 。灵活性是更有效地开发代码的主要因素。Groovy 语言是建立在总有一天 Java 平台要包括一种敏捷开发语言这一信念上的 (Richard Monson-Haefel),因此, Groovy 除了是种面向过程和面向对象的语言外,它还包含了实现函数式编程一些东西。 函数编程 我们知道例如Lisp、Scheme、Haskell、ML (或其他一些语言)采用了函数式编程。但“到底什么是函数式编程 (FP)?”不幸的是,即使是函数程序员他们自己也很难对 FP 究竟是什么有个一致的认识。 David Mertz 认为函数式编程粗略地描绘为至少具有以下几个特征: 函数是第一类(对象)。即,可以对“数据”进行的每样操作都可以使用函数本身做到(例如将一个函数传递给另一个函数)。 将递归用作主要的控制结构。在某些语言中,不存在其它“循环”构造。 重点集中在列表 Litt 处理(例如Lisp )。列表经常和子列表的递归一起使用以替代循环。 “纯”函数语言能够避免副作用。这不包括在命令语言中最普遍的模式,即指定第一个,然后将另一个值指定给同一个变量来跟踪程序状态。 FP 不鼓励或根本不允许出现 语句,取而代之是使用表达式求值(换句话说,即函数加上自变量)。在很纯粹的情况下,一个程序就是一个表达式(加上支持的定义)。 FP 关心的是计算 什么而不是 如何计算。 许多 FP 利用了“更高等级”函数(换句话说,就是函数对一些函数操作,而这些函数又对其它函数操作)。 函数编程的提倡者认为所有这些特征都导致更快速的开发更短以及错误更少的代码。而且,计算机科学、逻辑和数学领域的高级理论学家发现证明函数语言和程序的正式性能比命令语言和程序容易得多。 类 在字节码水平,Groovy 类是真正的 Java 类。Groovy的类与Java类相似: 方法可以基于类(static)或实例 可以为public、protected或private 支持常用的Java修饰符,如synchronized Groovy JSR 变量前都必须加上 def 关键字或者 private、protected 或 public 这样的修饰符;Groovy Beta3的类定义中的变量相当灵活,不需要任何关键字;(类定义外的变量不受影响。) […]

, ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.