2016-04-27 11 views
0

In Scala Language Spec. fand ich, dassScala qualifizierte geschützt Mitglied in der Unterklasse

Eine andere Form der Qualifizierung geschützt ist [diese]. Ein Mitglied M, das mit diesem Modifikator markiert ist, wird Objekt-geschützt genannt; Es kann nur von innerhalb des Objekts zugegriffen werden, in dem es definiert ist. Das heißt, eine Auswahl p.M ist nur zulässig, wenn das Präfix dieses oder O ist. Dies ist für eine Klasse O, die die Referenz einschließt. Darüber hinaus gelten die Einschränkungen für uneingeschränkt geschützte.

Jedoch habe ich den Fall mit verstehen zB this.protectedMember

Aber was ich nicht bekommen ist

O.this, für einige Klasse O umschließt den Referenz.

bitte Hilfe ..

Doch wie mein Verständnis sagt, dass dies etwas ist, das mit innerer Klasse realted ist, wie wir in Schaukel tun das äußeree Klassenobjekt zB OuterClass.this.someMethod zu erhalten in anonymer innerer Klasse.

Antwort

1
+0

ja, und wenn wir auf dieses Mitglied mit Instanz von O zugreifen müssen, müssen wir das Paket qualifizieren, wo Unterklasse gefunden werden kann, habe ich Recht? – optional

+0

Sorry, ich verstehe deine Frage nicht. –

+0

Ich meine, ich habe verstanden, was Sie gesagt haben, aber wenn ich auf ein geschütztes Mitglied mit einer Instanz zugreifen muss, die durch neue z. B. erstellt wird. 'val o = new O' und ich mache'o.protectedMember' als ich das Member mit protected [package_of_subclass] angeben muss. Habe ich Recht? – optional

Verwandte Themen