您的位置:首页 > 编程语言

Scala深入浅出进阶经典 第47讲: Scala多重界定代码实战及其在Spark中的应用源码解析

2015-09-25 00:08 246 查看
package com.dt.scalaInAction.demo_047

class M_A[T]
class M_B[T]

/**
* Scala多重界定代码实战及其在Spark中的应用源码解析
*
* T <: A with B
* T是A或者B的子类
*
* T >: A with B
* A或者B是T的子类
*
* T >: A <: B (写法上 下界必须写在前面 上界必须写在后面)
* T同时拥有下界A和上界B(A必为B的子类型) 但T不能同时拥有多个上界或多个下界
*
* T : A : B(上下文界定)
*
*
* T <% A <% B(视图界定)  T必须能够同时转化为A和B的要求
* T可以<同时>拥有多个视图界定
* T可以通过"隐式转换"为A 也可以"隐式转换"为B
*
*/
object Multiple_Bounds {
def main(args: Array[String]): Unit = {
implicit val a = new M_A[Int]
implicit val b = new M_B[Int]
def foo[T : M_A : M_B](i: T) = println("Run")

foo(2)

}
}


以上内容是从王家林老师DT大数据课程第47讲的学习笔记和个人整理。

DT大数据微信公众账号:DT_Spark

王家林老师QQ:1740415547

王家林老师微信号:18610086859

第47讲视频网站地址:http://pan.baidu.com/s/1qWj1IHY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: