Scala-Objekt privater Bereich mit inneren Klassen und Methoden

9

Ich habe ein wenig Verwirrung über den Zugriff auf private innere Klassen eines Objekts mit den Methoden des gleichen Objekts. Hier ist der Code meiner Übung aus dem Programmieren in Scala (Seiten 245-246):

%Vor%

Der Code ist der gleiche wie in Buch, aber der Compiler beschwert sich über die drei def elem() -Methoden an der Unterseite des Element-Objekts. Der Fehler sagt:

  

private class ArrayElement entkoppelt den definierenden Bereich als Teil des Typs   pis.Code_c10s02_CompositionAndInheritance.Element.ArrayElement

Wenn ich jedoch den Modifikator private aus den inneren Klassen entferne, wird alles in Ordnung. Dies sollte nicht die Lösung sein, scheint dieser Abschnitt des Buches im Wesentlichen über die Privatisierung von Klassen innerhalb eines Objekts. Was ist mein Fehler hier?

    
noncom 05.01.2012, 07:59
quelle

1 Antwort

14

Aus irgendeinem Grund würde die Kompilierung eher fehlschlagen, als einen weniger spezifischen aber öffentlichen Typ abzuleiten. Deklarieren Sie die elem-Methoden mit dem Rückgabetyp.

%Vor%     
extempore 05.01.2012, 08:20
quelle

Tags und Links