gpt4 book ai didi

scala - 裸 'extends'关键字

转载 作者:行者123 更新时间:2023-12-03 05:06:02 25 4
gpt4 key购买 nike

我对 Lift Cookbook for AJAX Forms 感到困惑,我遇到了以下对象声明:

object EchoForm extends {

这很令人困惑,所以我尝试了一下,它编译得很好。我的 Eclipse IDE 似乎没有表明继承了任何附加功能,但我想我不信任只是“闲逛”的关键字。这个“裸”extends 是否执行任何操作,或者是否被解析为“没有特别扩展任何内容”?

最佳答案

这不是早期对象初始化部分!请参阅 this answer .

should be用于早期对象初始化Parent,但在书中的代码示例中没有父级:

object EchoForm extends {
def render = {
...
}
} // no parents here!

旧答案(在 @som-snytt 提到这是错误之前):

它可能是(与父级一起)早期对象初始化部分。看一下这个例子:

trait Test {
val i: Int
val j = i + 1
}

实例创建错误:

object TestObj extends Test { val i = 1 }
TestObj.j
// Int = 1

ji 之前初始化,但 j 依赖于 i

正确创建:

object TestObj extends { val i = 1 } with Test
TestObj.j
// 2

早期对象初始化部分允许在继承特征的所有字段之前初始化字段。

关于scala - 裸 'extends'关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20666264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com