Scala深入浅出进阶经典 第64讲:Scala中隐式对象代码实战详解
2015-09-25 23:37
483 查看
package com.dt.scalaInAction.demo_064 /** * Scala中隐式对象代码实战详解 */ abstract class Template[A] { def add(x: A, y: A): A } abstract class SubTemplate[A] extends Template[A] { def unit: A } object Implicits_Object { def main(args: Array[String]): Unit = { implicit object StringAdd extends SubTemplate[String] { def add(x: String, y: String): String = x concat y def unit: String = "" } //定义隐式对象 定义方式:implicit object XXX implicit object IntAdd extends SubTemplate[Int] { def add(x: Int, y: Int): Int = x + y def unit: Int = 0 } //implicit m: SubTemplate[T]中 m是一个隐式对象 def sum[T](xs: List[T])(implicit m: SubTemplate[T]): T = if (xs.isEmpty) m.unit else m.add(xs.head, sum(xs.tail)) println(sum(List(1, 2, 3))) //6 println(sum(List("Scala", "Spark", "Kafka"))) //ScalaSparkKafka } }以上内容是从王家林老师DT大数据课程第6讲的学习笔记和个人整理。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
第6讲视频网站地址:http://pan.baidu.com/s/1dD97ukp
相关文章推荐
- the heapsort algorithm
- Struts2标签之set
- 360,京东,在线编程题
- Scala深入浅出进阶经典 第63讲:Scala中隐式类代码实战详解
- 第107讲:Akka中的Future使用代码实战详解学习笔记
- Struts2 用通配符方式动态调用方法
- 【Java】值得注意的一些语法点2
- C和指针 (学习之旅)
- 欢聚时代笔试题,滴滴出行编程题
- 欢聚时代笔试题,滴滴出行编程题
- 代码风格的问题
- Scala深入浅出进阶经典 第52讲:Scala中路径依赖代码实战详解
- PHP+Sphinx+Mysql做搜索引擎
- NetBeans中一个窗口的相对于另外一个窗口的位置
- Scala深入浅出进阶经典 第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用
- Scala深入浅出进阶经典 第49讲:Scala中Variance代码实战及其在Spark中的应用源码解析
- C语言的关键字
- Scala深入浅出进阶经典 第48讲:Scala类型约束代码实战及其在Spark中的应用源码解析
- Python | The Zen of Python
- java研发面经:滴滴、美团、网易、58赶集等