Seite 1 von 1

Code Struktur und Variablenzugriff

Verfasst: Dienstag 25. Mai 2021, 13:10
von Lucathon
Hallo, ich habe eine Frage bezüglich der Struktur meines Codes, die mich etwas zerbeißt.

Ich habe eine Klasse A die sich rein um die Verwaltung der GUI kümmert.
Zusätzlich habe ich eine Klasse B für die Verwaltung der seriellen Schnittstelle.

Klasse B setzt 2 Variablen, die Klasse A regelmäßig abfragen soll, um je nachdem verschiedene Aktionen durchzuführen oder eben nicht (z.B. nur GUI aktualisieren, wenn Serielle offen ist).
Ich finde es jetzt ziemlich dumm in Klasse 1 die Klasse B zu impportieren nur um an diese 2 Variablen zu gelangen, da Klasse B ja eigentlich sonst nichts mit KLasse A zu tun hat.

Wie also setze ich das ganze am Besten um, dass beide Klassen mit Variablen benutzen können?

P.S. Klasse A instanziert die Klasse B

Danke schonmal für eure Antworten, hoffe ihr könnt mir sagen wie ich hier die Struktur zu machen habe ohne große Änderungen


L.G.
Lucathon

Re: Code Struktur und Variablenzugriff

Verfasst: Dienstag 25. Mai 2021, 14:14
von Sirius3
Code hilft sehr fürs Verständnis.
Ich bin mir nicht sicher, ob Du mit Klasse an manchen Stellen Instanz der Klasse meinst, oder nicht.
Wenn in __init__ von Klasse A eine Instanz der Klasse B erzeugt wird, dann hast Du doch kein Problem auf die gewünschten Attribute zuzugreifen.

Re: Code Struktur und Variablenzugriff

Verfasst: Dienstag 25. Mai 2021, 16:32
von rogerb
Hallo Lucathon,
Ich finde es jetzt ziemlich dumm in Klasse 1 die Klasse B zu impportieren nur um an diese 2 Variablen zu gelangen, da Klasse B ja eigentlich sonst nichts mit KLasse A zu tun hat.
Was meinst du mit > eine Klasse in eine andere importieren <? Normalerweise importiert man von einem Modul ins andere. - Oder meinst du instantieren?
Befinden sich die Klassen in unterschiedlichen Modulen?

Re: Code Struktur und Variablenzugriff

Verfasst: Mittwoch 26. Mai 2021, 08:31
von Lucathon
Ja Klasse A und Klasse B sind in unterschiedlichen Modulen. Würde ich jetzt von Klasse A aus die Variablen in Klasse B benutzen wollen würde ich ja das File der KLasse B importieren und dann die Klassenvariablen ansprechen. Das finde ich aber sehr umständlich zumal die 2 Klassen bis auf die 2 Variablen nichts mitienander zu tun haben. Also was für eine CodeStruktur würde hier helfen?

Re: Code Struktur und Variablenzugriff

Verfasst: Mittwoch 26. Mai 2021, 08:37
von Lucathon
Sirius3 hat geschrieben: Dienstag 25. Mai 2021, 14:14 Wenn in __init__ von Klasse A eine Instanz der Klasse B erzeugt wird, dann hast Du doch kein Problem auf die gewünschten Attribute zuzugreifen.
Also aktuell schaut es so aus, dass Klasse A eine Instanz von einer zusätzlichen Klasse erzeugt, nennen wir sie A2, in der Teile für die GUI entworfen werden. Klasse A2 instanziert dann Klasse B in der die Variablen sind, welche auch die KLasse A regelmäßig abfragen soll. Ich benötige also einen schönen Weg wie A und B auf die in B definierten variablen zugreifen können obwohl sozusagen noch eine andere Klasse zwischen den beiden existiert.

Re: Code Struktur und Variablenzugriff

Verfasst: Mittwoch 26. Mai 2021, 09:01
von Sirius3
Kannst Du bitte Code zeigen, das macht vieles klarer.

Wenn eigentliche Klasse A Zugriff auf die Instanz von B braucht, dann muß B auch in A initialisiert werden und dann A2 übergeben werden.

Dann hoffe ich mal, dass Du keine Klassenvariablen hast, sondern Instanzattribute. Kassenvariablen sind auch globale Variablen, die man nicht benutzen sollte.