case class Hole() extends Tile {
  override def hasObstacle = true
}
はどうでしょ？