Combine two traits into one class.

Mixing Traits

MultipleTraits.scala
trait Named {
  def label: String = "item"
}

trait Counted {
  def count: Int = 1
}

class Box extends Named with Counted {
  override def toString: String = "[box]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val extra = 
    val box = new Box()
    val total = box.count + extra

    println("label=" + box.label)
    println("count=" + box.count)
    println("total=" + total)
  }
}
trait Named {
  def label: String = "item"
}

trait Counted {
  def count: Int = 1
}

class Box extends Named with Counted {
  override def toString: String = "[box]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val extra = 
    val box = new Box()
    val total = box.count + extra

    println("label=" + box.label)
    println("count=" + box.count)
    println("total=" + total)
  }
}
trait Named {
  def label: String = "item"
}

trait Counted {
  def count: Int = 1
}

class Box extends Named with Counted {
  override def toString: String = "[box]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val extra = 
    val box = new Box()
    val total = box.count + extra

    println("label=" + box.label)
    println("count=" + box.count)
    println("total=" + total)
  }
}
multiple-traits A class can mix in several traits with `extends` and `with`. It then offers the methods from every trait it combines.