Ü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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich die angegebenen Parameter in der call -
entsprechen nicht einer definierten
calcUI
Methode. Zum Beispiel für die definitionhaben Sie ein argument mehr als nötig.