object HelloWorld { def main(args: Array[String]) { var day:DayInYear=null day = new DayInYear(10, 20) println(day) } class DateInYear(private var d: Int, private var m: Int) extends Exception { if (d < 1) d = 1 if (d > 30) d = 30 if (m < 1) m = 1 if (m > 12) m = 12 def day: Int = d def month: Int = m def setDay=(newDay: Int) { if (newDay < 1) throw new Exception ("wrong value") if (newDay > 30) throw new Exception ("wrong value") else d = newDay } def setMonth=(newMonth: Int) { if (newMonth < 1) throw new Exception ("wrong value") if (newMonth > 12) throw new Exception ("wrong value") else m = newMonth } override def toString = d + "." + m } object DateInYear { def apply(day: Int, month: Int) = new DateInYear(day, month) } }