美文网首页
self-type(自身类型)

self-type(自身类型)

作者: simples | 来源:发表于2019-04-06 13:55 被阅读0次
    • 说明:这里介绍目前为止遇到的情况,当然还有其他情况可能没有列举出来,欢迎提出
    1. 在trait中使用
    trait User { 
      def name :String
     }
    
    trait B { 
        this : User => // 这里self-type使用this关键字,也可以是其他任意名字
        def foo() { 
            println(name) 
        }// 同样后边的name也不需要手动增加前缀 this.name,会被识别为this.name。 
      }  
    
    1. 在使用trait B的时候:这里必须有 with User,否则报 Main.type 不符合 B's selftype B with User
    object Main extends B with User {
     override def name = "whj"; 
    }
    
    1. 依赖注入的关系
      后续补充
      可参考链接: http://jonasboner.com/2008/10/06/real-world-scala-dependency-injection-di/

    相关文章

      网友评论

          本文标题:self-type(自身类型)

          本文链接:https://www.haomeiwen.com/subject/ohsriqtx.html