我想知道是否可以在父类中定义子类中的变量时为其分配默认值。
举个例子,我就拿露营地的环境来说吧(想不到更好的了)
我们有一个寄宿班级(父母)。住宿可以是帐篷、移动房屋、小木屋等。只有帐篷场地没有露台(默认情况下)。另一个可能有也可能没有,也可能有一些帐篷场地没有的特殊规格(盘子,盖子......等)。
现在...我很懒,更喜欢将变量patio(布尔值)放在住宿类中,然后在帐篷类中声明patio默认为false。或者我应该在每个子类中创建一个庭院变量?
class Lodging{
String description
int capacity
Boolean patio
}
class Tent extends Lodging{
static mapping = {
patio defaultValue: false
}
}
当我创建一个新的 Tent 实例时,会遵循映射规则吗?或者它会给我一个它无法识别变量的错误?
我没有尝试过任何事情,但它闪过我的脑海,并没有设法从 grails doc(或这里)得到答案。希望我的解释和问题是可以理解的:)