Gegeben folgender Code:
%Vor%Warum beschwert sich der Präsentationscompiler der Scala IDE in der Eclipse Indigo IDE mit der Fehlermeldung , die in Klasse E den Typ C überschreibt, was gleichbedeutend ist mit F.this.B; Typ C hat den inkompatiblen Typ ?
Nachdem alle Klasse "B" nur mit der Eigenschaft "D" "geändert" wurde, haben die beiden Typdefinitionen denselben Basistyp, nämlich "B". Daher kompatible Typdefinitionen.
Der Code unter funktioniert . Ich betrachte die Regeln für die Typzuweisung ähnlich wie bei der Variablenzuweisung:
%Vor%Ist mein Verständnis falsch?
Sie sind nicht kompatibel, Typ C könnte in einer kontravarianten Position verwendet werden
%Vor% Ergänzung
Mit e: E
dürfen Sie e.f(new B)
aufrufen. Was ist, wenn e
val e = new F
ist?
Tags und Links scala override abstract-type