Банка ' • Я определяю значения по умолчанию, если я определяю несколько перегруженных конструкторов в Scala?

Я определил несколько конструкторов с некоторыми значениями аргументов по умолчанию во всех из них. Выглядит правильно (я не вижу двусмысленности), но компилятор Scala (2.8) жалуется:

несколько перегруженных альтернатив конструктора определяют аргументы по умолчанию

Означает ли это, что я вообще не могу определить значения по умолчанию для перегруженных конструкторов ?

Позвольте проиллюстрировать ситуацию (конечно, примитивно, но иллюстративно):


class A(subject : Double, factor : Int = 1, doItRight : Boolean = true) {

  def this (subject : Int, factor : Int = 1, doItRight : Boolean = true) = {
    this(subject.toDouble , factor, doItRight)
  }

  def this (subject : String, factor : Int = 1, doItRight : Boolean = true) = {
    this(subject.toDouble , factor, doItRight)
  }

  def this () = {
    this(defaultSubject)
  }

}



14
задан Daniel C. Sobral 10 October 2010 в 15:26
поделиться