【发布时间】:2013-06-06 14:51:43
【问题描述】:
我想知道在父类中定义变量时是否可以为子类中的变量分配默认值。
举个例子,我就拿露营地的环境来说吧(想不到更好的了)
我们有一个寄宿班级(家长)。住宿可以是帐篷、移动房屋、小木屋等。只有帐篷场地没有露台(默认情况下)。另一个可能有也可能没有,也有一些帐篷场地没有的特殊规格(盘子、盖子......等)。
现在...我很懒,更喜欢将变量patio(布尔值)放在住宿类中,然后在帐篷类中声明patio默认为false。 或者我应该在每个子类中创建一个庭院变量?
class Lodging{
String description
int capacity
Boolean patio
}
class Tent extends Lodging{
static mapping = {
patio defaultValue: false
}
}
当我创建一个新的 Tent 实例时,会遵循映射规则吗?或者它会给我一个它无法识别变量的错误?
我没有尝试过任何东西,但它闪过我的脑海,并没有设法从 grails 文档(或这里)得到答案。 希望我的解释和问题是可以理解的:)
【问题讨论】:
-
所以你还没试过这个看看它是否有效?
-
写一个测试看看它是否有效。让我们知道:)
-
最无帮助的 cmets 奖颁给了...
标签: grails inheritance grails-orm default-value