mixins.scala
来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 86 行
SCALA
86 行
// $Id: mixins.scala 5359 2005-12-16 15:33:49Z dubochet $// Test 1: "super" coming from mixinsimport Console._;object Test1 { class A { def f = "A::f"; } class B extends A { override def f = "B::f"; } trait M1 extends A { override def f = "M1::" + super.f; } class C extends B with M1 { override def f = super[M1].f; } def test(): Unit = { val c = new C; Console.println(c.f); }}// Test 2: qualified "super" inside of the host classobject Test2 { class M1 { def f = "M1::f"; } trait M2 { def f = "M2::f"; } trait M3 { def f = "M3::f"; } class Host extends M1 with M2 with M3 { override def f = super[M1].f + " " + super[M2].f + " " + super[M3].f } def test(): Unit = { val h = new Host; Console.println(h.f) }}// Test 3: mixin evaluation order (bug 120)object Test3 { class A(x: Unit, y: Unit) { Console.println("A"); } trait B { println("B"); } class C extends A({ println("one"); }, { println("two"); }) with B { println("C"); } def test() = { val c = new C(); }}// Main testing functionobject Test { def main(args: Array[String]): Unit = { Test1.test(); Test2.test(); Test3.test(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?