與JavaBean相同,Groovy也有所謂的GroovyBean,只不過語法更加簡潔,另外Groovy也提供另外一個Expando class,也算是一種GroovyBean,差別在於無須宣告過的屬性(property),會在Run-time自動加入該property,會用此特性是因為Expando是實作到Groovy中Meta-Object-Protocol(MCP)中MissingMethod and MissingProperty兩種方法,MCP以及metaclass的觀念之後會介紹
GroovyBean其實就是Groovy版的JavaBean,但以下語法非強迫寫
但不代表不可以自訂getter and setter,因為在getter and setter我們也可以作一些包裝一些code。
範例如下:
Expandos是一個特殊的class,用來替代或輔助GroovyBean,主要差異沒事先宣告properties也可以成功run,亦可加入未事先宣告之方法,這些宣告的動作動作Groovy會動態產生,範例如下(之前class FDDR已先註解掉)