rewite factory mode for cal

使用property() 或者@property来处理