2014-01-25 29 views
0

說我在我的父枚舉..如何在grails構造函數中設置合成字段的值?

enum SomeEnum{ 
    //some enums here. 
} 

然後在我的父類中,我有:

class myParentClass { 
    SomeEnum someEnum 
} 

然後我的子類:

class myChildClass { 
MyParentClass myParentClass 

myChildClass(){ 
    //what to place here? 
    //I expect.. super.someEnum = SomeEnum.ENUM_HERE but i didnt extend it.. so? 
    // I tried this.someEnum = SomeEnum.ENUM_HERE but it didn't work either... :(
} 
} 

回答

1

目前你有構成關係而不是繼承。如果你想myChildClass是的myParentClass孩子然後定義你的孩子喜歡這個

class myChildClass extends myParentClass{ 
} 

,然後你可以實例化你的子對象這樣

def child = new myChildClass(someEnum : ENUM_VALUE) 

父定義的任何屬性將被繼承到孩子。無需在您的子類中定義構造函數。所有Grails域都帶有動態的Map構造函數,允許您在實例化新實例時將屬性作爲地圖傳遞。

相關問題