大数据是用scala语言,和java有些不同又比java强大,省去了很多繁琐的东西,scala中的的接口用trait来定义,不同于java的接口,trait中可以有抽象方法也可以有不抽象方法。scala中的方法中还可以定义方法,这在java中是从来没有的。大数据未来几年发展的重点方向,大数据战略已经...
分类:
其他好文 时间:
2015-11-10 10:44:10
阅读次数:
186
在Scala中,有两种方式可以用来支撑高阶对象。1. 类型参数: trait DataOps[A] { def show(a: A) = println(a) } val numbericOps = new DataOps[Int]{}特质上有一个泛型A,当实例化类型的时候可以填入2. ...
分类:
其他好文 时间:
2015-11-05 14:55:05
阅读次数:
231
特质Scala的trait和Java的Interface相比,可以有方法的实现。Scala的Trait支持类和Singleton对象和多个Trait混合(使用来自这些Trait中的方法,而不时不违反单一继承的原则)。Scala为Singleton对象的main定义了一个Apptrait类型,因此上面的例子可以简化为:HelloWorld.scala
..
分类:
其他好文 时间:
2015-10-22 06:54:44
阅读次数:
206
Monoid是种最简单的typeclass类型。我们先看看scalaz的Monoid typeclass定义:scalaz/Monoid.scala1 trait Monoid[F] extends Semigroup[F] { self =>2 ////3 /** The identit...
分类:
其他好文 时间:
2015-10-09 22:37:14
阅读次数:
180
Scala中的特质与Java中的接口是比较类似的,但是Scala中的特质可以同时拥有抽象方法和具体方法,而类可以实现多个特质。下面我们详细讲解Scala中的特质这个强大的功能。1. 把特质当作接口使用我们定义一个trait,如下所示:1 trait Logger {2 def log(msg:...
分类:
其他好文 时间:
2015-10-04 00:26:56
阅读次数:
2012
本讲我们来学习下依赖注入。让我们从代码出发:package scala.learntrait Logger {def log (msg:String)}trait Auth { auth:Logger => def act (msg:String){ log(msg) }}object DI ext...
分类:
其他好文 时间:
2015-09-15 17:58:21
阅读次数:
219
今天学习了self type的内容,让我们来看下代码package scala.learnclass Self{ self => val tmp = "Scala" def foo = self.tmp + this.tmp}trait S1class S2 {this:S1 =>}class S3...
分类:
其他好文 时间:
2015-09-15 14:21:18
阅读次数:
130
package com.leegh.parameterizationimport scala.io.BufferedSourceimport scala.io.Source/** * @author Guohui Li */trait Reader { type In <: java.io.Ser....
分类:
其他好文 时间:
2015-09-10 09:40:41
阅读次数:
157
package com.leegh.parameterization/** * @author Guohui Li */trait Logger { def log(msg: String) }trait Auth { auth: Logger => def act(msg: String) {.....
分类:
其他好文 时间:
2015-09-09 19:27:46
阅读次数:
113
package com.leegh.parameterization/** * @author Guohui Li */class Self { self => val tmp = "Scala" def foo = self.tmp + this.tmp}trait S1class S2 {...
分类:
其他好文 时间:
2015-09-08 09:36:10
阅读次数:
208