您的位置:首页 > 编程语言

54.scala编程思想笔记——使用特征

2016-01-02 09:39 176 查看
54.scala编程思想笔记——使用特征
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50447607

源码下载连接请见第一篇笔记。

在Scala中,可以将模型划分为恰当的部分。而有些语言则强制进行笨拙的抽象。

         特征以及他们的混合是这些工具中最强大的,特征不仅使得语法变得优雅而有意义,并且可以防止代码重复。

         因此:

n  优先是使用特征而不是更具体的类型

n  将模型划分成相互独立的部分

n  延迟具体化

特征和抽象类的主要差别是特征不能有构造器参数。

例如:

importcom.atomicscala.AtomicTest._

 

traitAerobic {

  val age:Int

  def minAerobic = .5 * (220 - age)

  def isAerobic(heartRate:Int) =

    heartRate >= minAerobic

}

 

traitActivity {

  val action:String

  def go:String

}

 

classPerson(val age:Int)

 

classExerciser(age:Int,

  val action:String = "Running",

  val go:String = "Run!") extends

  Person(age) with Activity with Aerobic

 

val bob =new Exerciser(44)

bob.isAerobic(180)is true

bob.isAerobic(80)is false

bob.minAerobicis 88.0

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: