Hallo zusammen,
bitte entschuldigt, wenn diese Frage vielleicht ein wenig anfängerhaft klingt, aber ich bin noch nicht so lange mit dabei.
Wenn ich in KlasseA Zugriff auf eine Instanzvariable von KlasseB bekommen will, dann schreib ich doch am besten in KlasseB eine entsprechende get-Methode. Wie mache ich dann jetzt diese get-Methode in der KlasseA bekannt?
Für nen kleinen Tipp wär ich echt dankbar
Gruß Beton
Frage zur OOP
Da bin ichs nochmal selber,
Die Sache hat sich denk ich erledigt. Zumindest, wenn es von der Objektorientierung her OK ist, KlasseA per Paramter im Konstruktor die Instanz von KlasseB mitzugeben.
Das funktioniert aber doch nur, wenn ich KlasseA in KlasseB instanziert wird, oder ? Was mach ich denn, wenn das nicht der Fall ist ?
Schönen Gruß
Die Sache hat sich denk ich erledigt. Zumindest, wenn es von der Objektorientierung her OK ist, KlasseA per Paramter im Konstruktor die Instanz von KlasseB mitzugeben.
Das funktioniert aber doch nur, wenn ich KlasseA in KlasseB instanziert wird, oder ? Was mach ich denn, wenn das nicht der Fall ist ?
Schönen Gruß
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
hi beton,
ganz verstehe ich die Frage nicht, könntest Du mal ein einfaches Beispiel bringen, was Du genau machen willst, und in welcher Beziehung die KlasseA zur KlasseB Steht?
Gruß
Dookie
ganz verstehe ich die Frage nicht, könntest Du mal ein einfaches Beispiel bringen, was Du genau machen willst, und in welcher Beziehung die KlasseA zur KlasseB Steht?
Gruß
Dookie
Hallo Dookie,
Ja, wenn ich mir das ganze nochmal durchlese, seh ich ein, dass das mit KlasseA und B und so nicht so ganz glücklich ist
Ich hab eine Klasse, in der ich eine einfache grafische Benutzeroberfläche habe, mit der ich einen Motor über serielle Schnittstelle steuern will. In einer zweiten Klasse hab ich die Kommunikation mit der seriellen Schnittstelle untergebracht. Nun will ich, wenn bei der Übrtragung etwas schief geht, eine Meldung in der StatusBar der grafischen Oberfläche ausgeben.
Hoffe, das war jetzt etwas verständlicher
Gruß
Ja, wenn ich mir das ganze nochmal durchlese, seh ich ein, dass das mit KlasseA und B und so nicht so ganz glücklich ist

Ich hab eine Klasse, in der ich eine einfache grafische Benutzeroberfläche habe, mit der ich einen Motor über serielle Schnittstelle steuern will. In einer zweiten Klasse hab ich die Kommunikation mit der seriellen Schnittstelle untergebracht. Nun will ich, wenn bei der Übrtragung etwas schief geht, eine Meldung in der StatusBar der grafischen Oberfläche ausgeben.
Hoffe, das war jetzt etwas verständlicher
Gruß
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi beton,
Du kannst auch eine Methode als Parameter an eine andere Klasse bei __init__ mitgeben. Diese (Status)-Methode kannst Du dann in der Methode aufrufen, wenn sich der Text in der Statuszeile ändern soll.
Vom Prinzip her geht das so:
Gruß
Dookie
Du kannst auch eine Methode als Parameter an eine andere Klasse bei __init__ mitgeben. Diese (Status)-Methode kannst Du dann in der Methode aufrufen, wenn sich der Text in der Statuszeile ändern soll.
Vom Prinzip her geht das so:
Code: Alles auswählen
class Steuerung(object):
def __init__(self, set_status):
self.show_meldung = set_status
def on_error(self, msg): #msg ist die Fehlermeldung
self.show_meldung("Fehler: %s" % msg)
class GUI(object):
def change_status(self, text):
self.statusbar.change_text(text)
gui = GUI()
st = Steuerung(gui.change_status)
Dookie
Hi Dookie,
Danke, das war so ziemlich genau das, nachedm ich gesucht hatte.
Danke und Gruß
beton
Danke, das war so ziemlich genau das, nachedm ich gesucht hatte.
Danke und Gruß
beton