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 }