DT大数据梦工厂 第54讲

王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第54讲:Scala中复合类型实战详解
百度云盘:http://pan.baidu.com/s/1pJP1CNp
腾讯微云:http://url.cn/a92alj
360云盘:http://yunpan.cn/ccuS9PEpnkb9F 访问密码 d999
本节,王老师讲了scala中复合类型的使用。复合类型就是一个类型既继承类A,又继承类B,可以表示为 class Compound extends A with B. 如果一个方法要求传入的对象是既是类A, 又是类B类型的,那么可以 def function(x: A with B)={print("it is a compound")} 这样,就可以调用这个方法为 function(new A with B);传入一个匿名对象结果就会打印it is a compound。当然,我们也可以定义一个object, object oc extends A with B, 这样 function(oc);而且我们也可以把复合类型加一个别名,用关键字type。type otherOc=A with B . 这样我们可以定义一个方法def function2(x:otherOc)={println("it is a other name")} 这样,function2(oc) 就会打印 it is a other name。当然,我们还可以练习上一节的知识: type lastLesson= A with B { def open():Unit}
def function3(x:lastLesson)={println("it use structor type")}
class UseStructor extends A with B{
def open()={println("hehe")}
}
这样调用function3(new UseStructor);就会打印出it use structor type,因为这个UseStructor里面有open方法。

你可能感兴趣的:(大数据)