Seite 1 von 1
Klassenaufbau meines GPS Projektes
Verfasst: Sonntag 14. Februar 2010, 15:18
von draufunddran
Hallo,
nachdem ich jetzt schon mehrere Fragen zu meinem GPS-Projekt gestellt hab, mach ich mir gedacken ob ich das Programm überhaupt richtig aufgebaut hab. Ich bin relativ neu in Python und hab mit OOP noch nicht viel am hut gehabt, deshalb weis ich nicht wie ich die das Programm sinnvoll in Klassen und Methoden aufteilen kann. Ich beschreib hier mal mein Projekt:
Es soll von zwei GPS-Empfängern seriell die Daten empfangen werden, danach müssten Sie nach der Zeit sortiert werden, da es sein kann das die informationen nicht genau zur selben zeit ankommen, da der eine GPS empfänger über eine Funkstrecke verbunden ist. Anschließend wenn die Daten sortiert sind müsste man etwas mit den Daten rechnen und auf einer GUI ausgeben. Eigentlich nichts kompliziertes aber ich bin eben mit Python und alg. der OOP nicht sehr vertraut.
Hat mir da einer ne Link oder ein Tut in dem man OOP gut erklärt bekommt und vor allem wie man es auch sinnvoll einsetzt? Ich hoffe ihr versteht was ich meine.
Grüße draufunddran
Re: Klassenaufbau meines GPS Projektes
Verfasst: Sonntag 14. Februar 2010, 16:56
von Darii
draufunddran hat geschrieben:Ich bin relativ neu in Python und hab mit OOP noch nicht viel am hut gehabt, deshalb weis ich nicht wie ich die das Programm sinnvoll in Klassen und Methoden aufteilen kann.
Dann lass es, niemand zwingt dich dazu Klassen zu verwenden.
Verfasst: Sonntag 14. Februar 2010, 17:35
von draufunddran
Danke für deinen tipp, aber dann lern ich es ja nie. Ich würde es aber schon gern lernen.
Greetz draufunddran
Verfasst: Sonntag 14. Februar 2010, 17:38
von cofi
OOP ist kein Selbstzweck (auch wenn das gern so hingestellt wird).
Für mich klingt deine Beschreibung jetzt auch nicht so, als wäre es nötig; OOP einfach einzusetzen, um es einzusetzen macht nunmal keinen Sinn.
Zum Tutorial hatte Leonidas da was in der Mache, aber erzählt hat er schon lange nichts mehr davon.
Verfasst: Sonntag 14. Februar 2010, 17:58
von problembär
1. Laß' Dich nicht von negativem Gerede hier abhalten.
2.
Es soll von zwei GPS-Empfängern seriell die Daten empfangen werden
Wie wär's dann mit einer Klasse "GPS-Empfänger" mit 2 Objekten derselben.
Bei größeren Projekten denk' auch an
http://de.wikipedia.org/wiki/Model_View_Controller
um Berechnungen ("Model") und GUI ("View") zu trennen.
Gruß
Verfasst: Sonntag 14. Februar 2010, 19:21
von draufunddran
Danke problembär für deine Antwort, mein bisheriger ansatz ist fast genau so. Ach eigentlich ist es genau so. Ich hab eine GUI klasse eine zum datenempfang und eine controller klasse.
Zum thema OOP hast du Mir aber auch kein tut oder evtl. ein buch?
Greetz draufunddran
Verfasst: Montag 15. Februar 2010, 01:40
von problembär
draufunddran hat geschrieben:Zum thema OOP hast du Mir aber auch kein tut oder evtl. ein buch?
Doch, null Problemo

:
http://www.awaretek.com/tutorials.html#object
Gruß
Verfasst: Montag 15. Februar 2010, 09:51
von philistion
Abgesehen von einer Klasse GPSReceiver könntest du auch andere Tätigkeiten in Klassen kapseln, also z.B. das was du aus den Daten berechnen musst etc.
So schön wie bei den Beispielen in den C++ Büchern (Klasse Lebewesen, Subklasse Mensch, Subsubklasse Frau) ist es in der Realität leider selten zu realisieren.
Verfasst: Montag 15. Februar 2010, 16:13
von BlackJack
@philistion: Wobei man beim Kapseln von *Tätigkeiten* in Klassen aufpassen muss, dass man da nicht nur Klassen zum Selbstzweck erhebt. Wenn man sich Klassen bastelt, die keinen Zustand haben und von denen immer nur ein Exemplar existiert, hat man letztendlich ein Modul mit Funktionen ohne Mehrwert in eine Klasse "gehoben". Wenn man da Zustand reinbringt in dem man lauter Methoden hat, die ausser `self` keine Argumente bekommen, hat man das Äquivalent eines Moduls mit Funktionen die alle auf globalen Daten arbeiten.
Tätigkeiten sind eigentlich eher etwas was man in Funktionen und Methoden steckt. Klassen sind eher für eigene Datentypen und Container für Daten, die Operationen auf ihrem Inhalt durchführen können.
Verfasst: Dienstag 16. Februar 2010, 09:42
von draufunddran
Danke nochmal für die Antworten.
Also die Klasse mit dem GPS-empfang hat ja zwei instanzen dann werd ich die beibehalten und die GUI-klasse behalt ich auch, da ich nur gui tuts mit klassen gelesen hab.
danke nochmal,
draufunddran