Fragen zu Klassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Also entweder es sind so viele Funktionen, dass sich dafuer eigene Module lohnen, oder man laesst die Funktionen als Top-Level-Funktionen im Script.

Meine Meinung.
BlackJack

@Markus12: IMHO sind Klassen die nur aus statischen Methoden bestehen ein Missbrauch von Klassen. Die vorgesehene Einheit zum organisieren von Funktion ist nunmal das Modul. Statische Methoden, oder noch besser Klassenmethoden, sollten sich auf alternative "Konstruktoren" und Funktionen beschränken, die wirklich *ganz* eng mit einer Klasse verbunden sind.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

BlackJack hat geschrieben:IMHO sind Klassen die nur aus statischen Methoden bestehen ein Missbrauch von Klassen.
Hallo BlackJack!

Ich habe den Thread nicht gelesen. Ich beziehe mich hier nur auf oben gezeigt Aussage.

Klassen eignen sich hervorragend auch zum Gruppieren von **zusammengehörenden** Funktionen. Ich mache das zwar recht selten, aber nur weil du das ablehnst fällt es mir trotzdem nicht im Traum ein, diese Art der Quellcodeorganisation von vorneherein abzulehnen.

Was ich damit sagen will? Ich glaube, dass du da ein wenig zu engstirnig denkst.
Namespaces are one honking great idea -- let's do more of those!
Wie kann man noch einfacher Namespaces erstellen, als mit Klassen? Nein, Module sind es sicher nicht. Ein Programm in *einem* Modul ist meistens einfacher als ein Programm in vielen Modulen.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Ja, genau so wollte ich das auch machen. Ein Programm aus mehreren Klassen.
BlackJack

@gerold: Das Klassen nicht als Namensraum für Funktionen gedacht sind, sieht man ja schon daran, dass man sie besonders behandeln muss (`staticmethod()`) damit das überhaupt funktioniert.

Das kann man natürlich machen, genauso wie man eine Datei pro Klasse benutzen kann, oder ähnliches. Ich finde es schlechten Stil. Wenn es soviele Funktionen in einem Modul gibt, dass man die sinnvoll gruppieren kann bzw. muss um den Überblick zu behalten, ist es IMHO Zeit das Ganze zu refaktorisieren.
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Und was ist dann genau IMHO? Statische Klassen?
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

*g*
Ne, ist ein weitverbreiteter ausdruck bei Meinungsäußerungen.
Google mal "IMHO"

Oder denk ich nur das du denkst das du das falsch vertanden hast, oder ich .... egal *Feierabend!*
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Achso, dann ists klar :D
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

BlackJack hat geschrieben: 5. `wechselkurs` ist ein Klassenattribut, d.h. das teilen sich alle Klassen.
Wäre ich seit unserer letzten Besprechung zu Klassen usw. nicht so verwirrt, würde ich sagen das ist falsch, bzw. du hast dich vertippt.


LG

rolgal_reloaded
BlackJack

Meinte natürlich das teilen sich alle Objekte dieser Klasse. :oops:
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

BlackJack hat geschrieben:Meinte natürlich das teilen sich alle Objekte dieser Klasse. :oops:
Na schön, wenn ich doch irgendwas richtig verstanden habe :D

LG

rolgal_reloaded
Antworten