第54讲:Scala中复合类型实战详解学习笔记

来源:互联网 发布:数据挖掘从应用角度 编辑:程序博客网 时间:2024/05/01 01:24

54讲:Scala中复合类型实战详解学习笔记

本讲讲scala中的类型系统中的复合类型

复合类型很常用

 

例:A extends B with C with D

解读:A extends B with C with D

A必须同时既是B又是C又是D的类型。

java语法在这点与scala不同

 

scala符合实际,应对了实际应用场景

 

trait Compound_Type1; 

trait Compound_Type2;

class Compound_type extends Compound_Type1 Compound_Type2

object Compound_Type {

  def compound_Type(x: Compound_Type1 with Compound_Type2) = {println("Compound Type in global method")}

  def main(args: Array[String]) {

    compound_Type(new Compound_Type1 with Compound_Type2)

    //new实例的时候也必须同时Compound_Type1 with Compound_Type2

    object compound_Type_object extends Compound_Type1 with Compound_Type2

    //trait混入object

    compound_Type(compound_Type_object)

 

    type compound_Type_Alias = Compound_Type1 with Compound_Type2

    //type别名,A extends B with C with D,太长了,可以用别名

    def compound_Type_Local(x:compound_Type_Alias) = println("Compound Type in local method")

    val compound_Type_Class = new Compound_Type

    compound_Type_Local(compound_Type_Class)

 

    type Scala = Compound_Type1 with Compound_Type2 {def init():Unit}

    //这就是上讲的结构类型,Scala既是Compound_Type1又是 Compound_Type2,同时必须实现init方法

  }

}

 

以上内容是从王家林老师DT大数据课程第54讲的学习笔记。
DT大数据微信公众账号:DT_Spark  

王家林老师QQ:1740415547 

王家林老师微信号:18610086859
百度网盘共享的DT大数据梦工厂王家林老师第1-91讲的视频内容:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group

54讲酷6视频:http://v.ku6.com/show/hxp8kGRupuaoEgH3cMAzog...html?from=my

0 0
原创粉丝点击