首页 / 大数据 / DT大数据梦工厂 第63,64,65讲
DT大数据梦工厂 第63,64,65讲
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了DT大数据梦工厂 第63,64,65讲,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1928字,纯文字阅读大概需要3分钟。
内容图文
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第63讲:Scala中隐式类代码实战详解
百度云:http://pan.baidu.com/s/1o6wxJdS
腾讯微云:http://url.cn/TfOJqr
360云盘:http://yunpan.cn/cckajtapNGT9z 访问密码 369d
本节王老师讲了隐式类。其作用就是把转换后的类放在一个作用域中,消除了之前的隐式转换方法。
object Context{
implicit class RichFile(file:File){
def read=Source.fromFile(file.getPath).mkString
}
}
这样就可以用普通的file调用read方法了。注意首先一定要import Context._
然后 println(new File("E:\\hehe.txt").read)
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第64讲:Scala中隐式对象代码实战详解
百度云:http://pan.baidu.com/s/1dD97ukp
腾讯微云:http://url.cn/cuHO1G
360云盘:http://yunpan.cn/ccvfgzhPAE8Di 访问密码 2513
本节王老师讲了隐式对象。如果隐式参数想要通过泛型来达到多态,就要用到隐式对象来继承这个参数类。
首先定义一个泛型抽象类
abstract class Template[T]{
def add(x:T,y:T):T
def unit:T
}
然后在main方法中可以定义2个隐式对象为Template实现多态
object Implicit_Object{
main(args: Array[String]){
implicit object StringAdd extends Template[String]{
def add(x:String,y:String):String=x concat y
def unit:String =""
}
implicit object IntAdd extends Template[Int]{
def add(x:Int,y:Int):String=x + y
def unit:String =0
}
def sum[A](xs:List[A])(implicit m: Template[A]):A=
if (xs.isEmpty) m.unit
else m.add(xs.head,sum(xs.tail))//递归调用sum方法,使得list中的每个元素调用add方法
println(sum(List(1,2,3)))
println(sum(List("hehe","xixi","lala")))
}
}
输出6 和 hehexixilala
这样只要是泛型为整数就相加,是String就相连
王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第65讲:Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用源码解析
百度云:http://pan.baidu.com/s/1hqyCbGg
腾讯微云:http://url.cn/fbnMPM
360云盘:http://yunpan.cn/ccWnW3HQAb52S 访问密码 ba25
本节王老师讲了隐式转换的内幕,就是我们什么都没有看到,但他确实隐式转换了,而且也没有import任何区域。
首先是转换类
class RicherFile(val file:File){
def read=Source.fromFile(file.getPath()).mkString
}
然后定义一个普通类
class File_Implicit(path:String) extends File(path)//这里面的参数一定是转换之前的类型里面的属性或能推倒出来的东西。
object File_Implicit{
implicit def file2RicherFile(file:File)=new RicherFile(file)//隐式转换,正常我们看不见
}
这样println(new File_Implicit("E:\\hehe.txt").read)就会打印文件的内容(我们没有import任何东西)
原文:http://www.cnblogs.com/trgaaaaa/p/4668849.html
内容总结
以上是互联网集市为您收集整理的DT大数据梦工厂 第63,64,65讲全部内容,希望文章能够帮你解决DT大数据梦工厂 第63,64,65讲所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。