sách gpt4 ai đã đi

Scala bên ngoài => cú pháp

In lại 作者:行者123 更新时间:2023-12-04 16:48:08 32 4
mua khóa gpt4 Nike

这个问题在这里已经有了答案:




9年前关闭。




Có thể trùng lặp:
What does “outer =>” really mean?



我在哪里可以找到有关信息
trait After extends Context { outer => xxx
//...
}

什么意思 外 => ?

1 Câu trả lời

这是一种自我类型。您还可以添加类型注释,以强制将您的 trait 扩展为某种类型的类。但是没有类型,它只是对 cái này 的引用。 (并称为自引用),因此您可以在内部类等中使用它。例如:

class MyOuter { outer =>
// this == outer
class MyInner {
// this != outer
def creator = outer
}
}

例如,我提到的其他用法可用于向现有类添加特殊行为:
class MyClass {
val foo = "foo"
}

trait MyClassExtension { this: MyClass =>
def fooExtended(s: String) = foo + s
}

scala> val x = new MyClass with MyClassExtension
x: MyClass with MyClassExtension = $anon$1@5243618

scala> x.fooExtended("bar")
res3: java.lang.String = foobar

这里 this: MyClass =>意味着, MyClassExtension只能混入 Lớp học của tôi 的实例或子类中.
scala> class OtherClass
defined class OtherClass

scala> val x = new OtherClass with MyClassExtension
:11: error: illegal inheritance;
self-type OtherClass with MyClassExtension does not conform to MyClassExtension's selftype MyClassExtension with MyClass
val x = new OtherClass with MyClassExtension

关于Scala 外部 => 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11666374/

32 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com