Fill in an abstract trait method inside a class.

Implementing a Trait

ClassExtendsTrait.scala
trait Shape {
  def area: Int
}

class Square(side: Int) extends Shape {
  def area: Int = side * side
  override def toString: String = "[square]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val side = 
    val shape = new Square(side)

    println("side=" + side)
    println("area=" + shape.area)
  }
}
trait Shape {
  def area: Int
}

class Square(side: Int) extends Shape {
  def area: Int = side * side
  override def toString: String = "[square]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val side = 
    val shape = new Square(side)

    println("side=" + side)
    println("area=" + shape.area)
  }
}
trait Shape {
  def area: Int
}

class Square(side: Int) extends Shape {
  def area: Int = side * side
  override def toString: String = "[square]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val side = 
    val shape = new Square(side)

    println("side=" + side)
    println("area=" + shape.area)
  }
}
class-extends-trait A trait can declare a method without a body. Each class that extends the trait must supply the missing implementation.