Wie deklariere ich eine globale Variable innerhalb einer Klasse?

8

Ich versuche, eine globale Variable innerhalb einer Klasse wie folgt zu deklarieren:

%Vor%

Ich muss darauf außerhalb der Klasse zugreifen, aber ich möchte es nicht außerhalb der Klassendatei deklarieren müssen. Meine Frage ist, ist das möglich? Wenn ja, wie lautet die Syntax?

    
Adam 09.04.2012, 16:28
quelle

5 Antworten

12

In Ihrer Frage geben Sie "außerhalb der Hauptdatei" an. Wenn Sie nicht "außerhalb der Klasse" meinen, dann funktioniert dies, um eine Variable auf Modulebene zu definieren:

%Vor%

Dann können Sie tun, vorausgesetzt, die Klassen- und Variablendefinitionen befinden sich in einem Modul namens mymodule :

%Vor%

Als Reaktion auf Ihren Kommentar zu @ phihag's Antwort können Sie auch wie folgt auf myvar unqualifiziert zugreifen:

%Vor%

Wenn Sie einfach aus einer anderen Datei auf sie zugreifen möchten, während Sie sie noch in der Klasse definieren:

%Vor%

Geben Sie in der Datei, in der Sie darauf zugreifen müssen, eine Referenz im lokalen Namespace an:

%Vor%     
zigg 09.04.2012, 16:33
quelle
3

Sie können der Klasse einfach eine Eigenschaft zuweisen:

%Vor%     
phihag 09.04.2012 16:30
quelle
3

Du solltest wirklich darüber nachdenken, ob das wirklich notwendig ist oder nicht, es scheint eine seltsame Art zu sein, dein Programm zu strukturieren und du solltest die Methode von phihag verwenden, die korrekter ist.

Wenn Sie entscheiden, dass Sie dies trotzdem tun möchten, können Sie Folgendes tun:

%Vor%     
Andrew Clark 09.04.2012 16:37
quelle
3

Um Ihre Frage zu beantworten

%Vor%

Wird es tun. Je nachdem, wo in Ihrer Klasse Sie dies tun, werden Sie jedoch Probleme bekommen. Bleib weg von Funktionen, um das gewünschte Verhalten zu erhalten.

    
8bitwide 09.04.2012 16:38
quelle
3

Sie können wie

tun %Vor%     
0xc0de 09.04.2012 16:43
quelle

Tags und Links