Groovy-Create实例声明对象类型

时间:2012-07-20 12:58:11

标签: grails groovy

我有一个课程

Class LifeCycle{

  Activity  obtainPo
  Activity  bookTicket

}

Class Activity{
   String name
   string actor
}

目标

Activity类中声明类型为Lifecycle的对象时,应创建活动类的新实例,其中name = parameter name(即obtainPo和bookTocket等) 喜欢

new Activity('obtainPo') actor可以为null

如何在groovy和grails中实现这一目标?

1 个答案:

答案 0 :(得分:0)

当你实例化LifeCycle类对象并确保在构造函数中设置了LifeCycle的其他属性(如果有的话)时,会发生这样的事情。

class LifeCycle{

  Activity obtainPo, bookTicket
  def anotherParameter

   LifeCycle(){
    //set another parameters first
      anotherParameter = "something"

    this.getProperties().each{
       if(!it.value){
         this.setProperty(it.key, new Activity(name:it.key))
       }
    }
   }
}