Überladene Methode Wert mit alternativen

Habe ich Folgendes:

def calc(dir: File): Option[Group] = {
 calcModel(dir) match {
  case Some(model: Model) => calcUI(model, centerpane.getWidth, centerpane.getHeight, 5, MAX_LEVEL)
  case None =>               None
 }
}

def calcUI(model: Model, availableWidth: Double, availableHeight: Double, maxLevel: Int): Option[Group] = {
}

def calcUI(model: Model, posX: Double, posY: Double, availableWidth: Double, availableHeight: Double, horizontally: Boolean, startLevel: Int, maxLevel: Int): Option[Group] = {
}

protected def calcUI(node: Node, posX: Double, posY: Double, availableWidth: Double, availableHeight: Double, horizontally: Boolean, level: Int, maxLevel: Int): Group = {
}

def calcModel(dir: File): Option[Model] = {
}

(Bemerkung: Modell NICHT ableiten von Knoten)

und erhalten Sie die folgende compiler-Fehlermeldung angezeigt:

Error:(88, 27) overloaded method value calcUI with alternatives:
  (node: org.rob.spaceview.modell.Node,posX: Double,posY: Double,availableWidth: Double,availableHeight: Double,horizontally: Boolean,level: Int,maxLevel: Int)javafx.scene.Group <and>
  (model: org.rob.spaceview.modell.Model,posX: Double,posY: Double,availableWidth: Double,availableHeight: Double,horizontally: Boolean,startLevel: Int,maxLevel: Int)Option[javafx.scene.Group] <and>
  (model: org.rob.spaceview.modell.Model,availableWidth: Double,availableHeight: Double,maxLevel: Int)Option[javafx.scene.Group]
 cannot be applied to (org.rob.spaceview.modell.Model, Double, Double, Int, Int)
      case Some(model) => calcUI(model, centerpane.getWidth, centerpane.getHeight, 5, MAX_LEVEL)
                      ^

Ich nicht bekommen. Alle calcUI Funktionen unterscheiden sich durch die Parameter.

Ich kenne diesen Fehler, und die meisten der Zeit, die ich es bekommen und es zu beheben. Aber hier, keine Ahnung.

Hoffentlich jemand enlights mir. Danke.

  • Ich verstehe es nicht, entweder. Die Methode, die Sie erwarten, zu wählen? Verwenden Sie fünf Argumente. Sie wissen, überlastungen sind böse, Recht? Mindestens, es sei denn, Sie wissen, was Sie tun?
  • Überlastungen sind böse? Ich würde sagen, eine überlastung ist eine äußerst nützliche und wichtige Aspekt von Java/Scala.
  • Finden Sie die Antwort und mein Kommentar unten. Schande über mich.
  • E. g. stackoverflow.com/q/2510108/1296806 oder google es. Ich kann auch gar nicht Antworten, wenn Sie nicht, verwenden Sie @. Auch wenn es ein notwendiges übel ist (umstritten), noch böse.
  • Interessanter link, danke.
InformationsquelleAutor Rob | 2014-03-14
Schreibe einen Kommentar