DT大数据梦工厂 第81讲

DT大数据梦工厂 第81讲
http://yun.baidu.com/s/1uLFye
本节王老师讲了list的逆变,协变,下界。
abstaract class Big_Data
class Hadoop extends Big_Data//一种 类型
class Spark extends Big_Data//另一种类型
object List_Constructor _Internals{
 def main(args:Array[String]){
  val  hadoop=new Hadoop::Nil//一个Hadoop的list
  val  big_Data=new Spark::hadoop//一个既有Hadoop,又有Spark的list,
  //这是因为hadoop可以追加Spark,因为::方法的参数是逆变点,
  //如果按照正常的放到上界,那么如果Hadoop是Big_Data的子类,
  //那么List[Hadoop]就应该是List[Big_Data]的父类
  //但事实上我们期望List[Big_Data]是List[Hadoop]的父类(协变的)
  //所以让他存在下界[B>:A]而不是[A<:B],这样就如我们所愿了
 }
}

posted on 2015-08-08 22:31  trgaaaaa  阅读(152)  评论(0)    收藏  举报