Scala中隐式对象代码实战详解之Scala学习笔记-54

package com.leegh.implicits

/**
* @Tuthor Guohui Li
*/
abstract class Template[T] {
def add(x: T, y: T): T
}

abstract class SubTemplate[T] extends Template[T] {
def unit: T
}

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 IntAdd extends SubTemplate[Int] {
def add(x: Int, y: Int): Int = x + y
def unit: Int = 0
}
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, 4, 5)))
println(sum(List("a", "b", "c")))
}
}

附:

本博客说明:

1.整理思路,提高自己。

2.受教于王家林老师,?有所收获,故推荐。

3.博客注重实践,多余的文字就不多说了,都是做技术的。

4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。?

DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。

王家林DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group

王家林《Scala深入浅出实战初级入门经典视频课程》http://edu.51cto.com/lesson/id-66538.html

王家林《Scala深入浅出实战中级进阶经典视频课程》http://edu.51cto.com/lesson/id-67139.html

时间: 2024-10-21 05:45:40

Scala中隐式对象代码实战详解之Scala学习笔记-54的相关文章

Scala中隐式类代码实战详解之Scala学习笔记-53

package com.leegh.implicits import java.io.Fileimport scala.io.Source /** * @author Guohui Li */object Context_Helper { implicit class FileEnhance(file: File) { def read = Source.fromFile(file.getPath).mkString } implicit class Op(x: Int) { def add(s

Spark进阶视频之Scala中隐式类代码实战详解

王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载! 欢迎广大Spark爱好者学习交流.也欢迎广大学习爱好者加入DT大数据梦工厂交流群:462923555DT大数据微信公众账号:DT_Spark 视频观看链接http://www.tudou.com/plcover/Yy5F5gsurSE/ 视频下载地址百度云:http://pan.baidu.com/s/1eQGqzEa腾讯微云:http://url.cn/SshT6b

Scala中路径依赖代码实战详解之Scala学习笔记-42

package com.leegh.parameterization /** * @author Guohui Li */ class Outer { private val x = 10 class Inner { private val y = x + 10 }} object Path_Dependence { def main(args: Array[String]): Unit = { val outer = new Outer val inner = new outer.Inner

第52讲:Scala中路径依赖代码实战详解

<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第52讲:Scala中路径依赖代码实战详解百度云:http://pan.baidu.com/s/1gdES4hX360云盘:http://yunpan.cn/ccHXX2Wkrrrt4 访问密码 c489腾讯微云:http://url.cn/VV5kx5 记录: Scala中内部类的路径依赖非常适合现在互联网看待事物所属关系,组织关系. 根据依赖的外部实例的不同,内部类类型会有所不同.由

Scala 深入浅出实战经典 第52讲:Scala中路径依赖代码实战详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/jeikRw_tlBM/优酷:http://v.youku.com/v_show/id_

List的一阶函数操作代码实战详解之Scala学习笔记-24

package com.leegh.dataset /** * @author Guohui Li */object List_FirstOrder_Ops { def main(args: Array[String]): Unit = { println(List(1, 2, 3, 4) ::: List(4, 5, 6, 7, 8) ::: List(10, 11)) println(List(1, 2, 3, 4) ::: (List(4, 5, 6, 7, 8) ::: List(10,

scala的Type与Class实战详解

学习了scala的Type与Class实战详解,在运行时是通过反射来得到的.但是scala不同. scala.reflect.runtime.universe._ type 类和type比较,type比class更具体.任何数据都有type.但是class是一种数据结构,或数据 结构的抽象. 更宏观.但type更具体. 打印类的type就是包名加类名,但是class打印时在前面得加class object的getClass是class 包名加类名加$.所以object是有具体的类的 object

王家林系列之scala--第69讲:Scala并发编程react、loop代码实战详解

刚才看了一下,群里王家林老师又更新课程了,真为王老师的勤奋感到佩服,于是迫不及待的下载下来观看学习.本期讲的是关于scala并发编程的react.loop代码实战. 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 关注微信账号,获取更多关于王家林老师的课程内容 王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载! 百度云盘:http://pan.baidu.com/s/1c0noOt6腾讯微云:http://url.cn/TnGbdC

Scala并发编程react、loop代码实战详解

示例代码及注释: //scala并发编程中的react和loop,共同特点: //通过线程存用的方式让性能有所提升. //Actor本身的运行,被actor子系统管理的时候,会有一个或者多个远程的线程让当前的actor使用 //一般情况下每个Actor都有自己的线程.只有有自己的线程时,我们的Actor中的actor方法才会执行. //但是,这样线程的开销会非常大,所以为了共用线程,一个actor使用多个线程后,我们不想立即回收,我们想共用. //scala给我们提供了两个方法:react方法和