class里定义object有何特殊含义
2015-04-17 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517193
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
可以把object看成是特殊的class,可以认为他是class的单例。
object不是变量因此不能再赋值,但他里面的字段可以赋值。
lift的所有字段都用object表示,更突出lift里所有东西都是有实际业务意义的对象。
比如object dateOf extends MappedDateTime(this)
如果在java中定义model可能就定义为: private Date dateOf; 那么他就是一个日期型字段,和bussiness model没太大关系。在Lift中,默认给这些字段类型定义了很多与业务相关的方法,比如asHtml,toForm,validate等,你也可以override这些默认方法。
这里的object可以当作是java的内类,
访问Scala的内类和访问方法一样用点。
object可以当作是实例化好的,因此不需要实例化,直接用就行了。
例如
Scala代码
Expense expense = Expense.create
expense.dateOf(current)
这里是调用了Expense的内类dateOf,再调用了dateOf的apply方法,
等同于
Scala代码
Expense expense = Expense.create
expense.dateOf.apply(current)
object不是变量因此不能再赋值,但他里面的字段可以赋值。
lift的所有字段都用object表示,更突出lift里所有东西都是有实际业务意义的对象。
比如object dateOf extends MappedDateTime(this)
如果在java中定义model可能就定义为: private Date dateOf; 那么他就是一个日期型字段,和bussiness model没太大关系。在Lift中,默认给这些字段类型定义了很多与业务相关的方法,比如asHtml,toForm,validate等,你也可以override这些默认方法。
这里的object可以当作是java的内类,
访问Scala的内类和访问方法一样用点。
object可以当作是实例化好的,因此不需要实例化,直接用就行了。
例如
Scala代码
Expense expense = Expense.create
expense.dateOf(current)
这里是调用了Expense的内类dateOf,再调用了dateOf的apply方法,
等同于
Scala代码
Expense expense = Expense.create
expense.dateOf.apply(current)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询