我们在使用spark的时候 开头经常写这样的fluent style代码
val conf = new SparkConf().setAppName("ParallelizeCollection").setMaster("local")
那我们自己怎样然我们自己的代码能实现这样的效果,其实想要使用流式风格
1、如果你的类会被继承的话 方法返回类型必须是this.type
2、如果你的类不会被继承的话 方法return是this就可以
object FluentStyleScala { def main(args: Array[String]): Unit = { /** * A fluent style of programming lets users of your API write code by chaining method calls together * 想要使用流式风格 1、如果你的类会被继承的话 方法返回类型必须是this.type 2、如果你的类不会被继承的话 方法return是this就可以 */ val e = new Worker().setAge(10).setName("jian").setRole("Developer") println(e) val p = new Pizza() .setCrustSize(14) .setCrustType("thin") .addTopping("cheese") .addTopping("green olives") .print() } } class Emplory{ protected var name = None:Option[String] protected var age = None:Option[Int] def setName(name:String):this.type = { this.name = Some(name) this } def setAge(age:Int):this.type = { this.age = Some(age) this } override def toString() = s"[name] = $name [age] = $age" } class Worker extends Emplory{ protected var role = "" def setRole(role: String): this.type = { this.role = role this } override def toString = { "%s, %d, %s".format(name.get, age.get, role) } } final class Pizza{ import scala.collection.mutable.ArrayBuffer private val toppings = ArrayBuffer[String]() private var crustSize = 0 private var crustType = "" def addTopping(topping: String) = { toppings += topping this } def setCrustSize(crustSize: Int) = { this.crustSize = crustSize this } def setCrustType(crustType: String) = { this.crustType = crustType this } def print() { println(s"crust size: $crustSize") println(s"crust type: $crustType") println(s"toppings: $toppings") } }
相关推荐
Scala学习笔记,大全笔记
学习scala笔记,学习scala笔记,学习scala笔记,学习scala笔记,学习scala笔记,
赠送jar包:scala-xml_2.11-1.0.4.jar; 赠送原API文档:scala-xml_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-xml_2.11-1.0.4-sources.jar; 赠送Maven依赖信息文件:scala-xml_2.11-1.0.4.pom; 包含翻译后的API...
赠送jar包:scala-xml_2.12-1.0.6.jar; 赠送原API文档:scala-xml_2.12-1.0.6-javadoc.jar; 赠送源代码:scala-xml_2.12-1.0.6-sources.jar; 赠送Maven依赖信息文件:scala-xml_2.12-1.0.6.pom; 包含翻译后的API...
该文档详细的讲述了Scala的基础操作方法和高级使用方法
赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...
赠送jar包:scala-xml_2.11-1.0.5.jar; 赠送原API文档:scala-xml_2.11-1.0.5-javadoc.jar; 赠送源代码:scala-xml_2.11-1.0.5-sources.jar; 赠送Maven依赖信息文件:scala-xml_2.11-1.0.5.pom; 包含翻译后的API...
scala 学习笔记 方法 函数 类 对象 特质 推断 注解 编译 隐式转换 尾递归 元组 列表
赠送jar包:scala-parser-combinators_2.11-1.0.4.jar; 赠送原API文档:scala-parser-combinators_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-parser-combinators_2.11-1.0.4-sources.jar; 赠送Maven依赖信息...
ScalaOverview.pdf ScalaTutorial.pdf ProgrammingInScala.pdf(这本是书) 博文链接:https://dogstar.iteye.com/blog/182673
[Scala学习笔记-中文资料] 从java角度看Scala
从StdIn读取scala代码,并将其反编译的Java版本写入StdOut。 用法 确保您已安装Java 1.8和Maven 检出项目 在项目目录中调用mvn clean package 。 在目标目录中scala-to-java.jar将创建scala-to-java.jar 使用java...
函数式编程(FP)是一种软件开发风格,它注重不依赖于编程状态的函数。函数式代码易于测试和复用,容易实现并发,且不容易受到bug的攻击。Scala是一种能很好支持函数式编程的新兴JVM语言。《Scala函数式编程》是针对...
scala学习
本书是Scala编程语言的权威教程,由该语言的设计师Martin Odersky共同编写。
scala的小例子一个简单的例子有一点小帮助
scala-learn:scala学习笔记
Scala-学习资料-mht.rar。Scala学习资料 mht网页格式。