Groovy Beans
http://blog.donews.com/WFoxd/archive/category/groovy
这里是一个 Groovy Bean
例子.
    
class Car {
      String make
      String model
    }
这个类声明了两个属性,而不包含任
何方法.然而,很多事情是在后台完成的. 类,属性和方法默认是公共的(public).公共的和保护的(protected)属性会成为私有域但是它们的公共的/保护的get和 set 会被自动生成.(Public and protected properties result in private fields for which public/protected get and set methods are automatically generated)这些都可以被
重载来提供定制的行为.对于明确被声明为私有的(private)属性来说, get和set 方法没有被生成.
上面的Groovy代码等同于以下的Java代码.
    public class Car {
        private String make;
        private String model;
     
        public String getMake() {
            return make;
        }
     
        public String getModel() {
            return model;
        }
     
        public void setMake(String make) {
            this.make = make;
        }
     
        public void setModel(String model) {
            this.model = model;
        }
    }
由Groovy Beans生成的类继承了java.lang.Object类并实现了groovy.lang.GroovyObject类.它添加的方法有getProperty, setProperty, getMetaClass, setMetaClass以及invokeMethod. groovy.lang.MetaClass类允许在运行时添加方法.
Groovy Beans可以使用有名参数创建.例如,下面的代码调用了Car类的无参数
构造函数然后调用了每个独立属性的set方法.
    myCar = new Car(make:’ Toyota’, model:’Camry’)