Ich lerne Scala und habe eine Frage bezüglich der unteren Grenze.
Ich habe eine Klasse:
%Vor%Was ich gefunden habe, ist das für eine Queue irgendeines Typs, z.B.:
%Vor%Alle drei Zeilen darunter werden kompilieren
%Vor%Meine Frage ist: Wenn wir die untere Schranke benutzen, um U zu definieren, muss ein Super-Typ von T sein, in den obigen Zeilen ist Apple eindeutig kein Super-Typ von Obst, wie kann er an die Enqueue-Funktion übergeben werden?
Die "andere" Klasse ist überhaupt nicht in der Fruchthierarchie, wie kann sie in der Enqueue-Funktion verwendet werden?
Bitte helfen Sie mir dabei.
Grüße Kevin
Wenn Sie sich ansehen, was Ihre neuen Warteschlangen zurückgeben:
%Vor%Was Sie gesagt haben, dass speziell U ein Super-Typ von T (oder T) sein sollte. Dies bedeutet, dass eine andere Funktion großartig ist, weil ScalaObject der spezifischste Supertyp von Another und Fruit ist.
Meine Frage ist: Wenn wir die untere Schranke benutzen, um U zu definieren, muss ein Super-Typ von T sein, in den obigen Zeilen ist Apple eindeutig kein Super-Typ von Obst, wie kann er an die Enqueue-Funktion übergeben werden?
Aber new Apple
ist ein Fruit
und Fruit
ist ein Supertyp von Fruit
. In Ihrem Fall ist U
also Fruit
und Queue[Fruit]
wird zurückgegeben. Und new Another
ist ein ScalaObject
, was auch ein Supertyp von Fruit
...
Tags und Links scala