Scala链式编程内幕

 1 package big.data.analyse.scala
 2 
 3 /**
 4   * 链式编程原理
 5   * Created by zhen on 2018/12/16.
 6   */
 7 class Computer{def code = this}
 8 class PC extends Computer{def portable = this}
 9 /**
10   * 使用type可以根据当前情况转化类型实现链式编程
11   */
12 class Car{def run : this.type = this}
13 class Roadster extends Car{def luxury : this.type = this}
14 object Lsbc {
15   def main (args: Array[String]) {
16     val pc = new PC()
17     //pc.code.portable // Cannot resolve symbol portable
18     val roadster = new Roadster()
19     roadster.run.luxury
20   }
21 }
原文地址:https://www.cnblogs.com/yszd/p/10128065.html