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:

Beitragvon Rebecca » Dienstag 14. August 2007, 20:30

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

Beitragvon BlackJack » Mittwoch 15. August 2007, 09:58

@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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Mittwoch 15. August 2007, 12:21

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
Kontaktdaten:

Beitragvon Markus12 » Mittwoch 15. August 2007, 13:41

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

Beitragvon BlackJack » Mittwoch 15. August 2007, 15:35

@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
Kontaktdaten:

Beitragvon Markus12 » Mittwoch 15. August 2007, 16:04

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

Beitragvon Zap » Mittwoch 15. August 2007, 16:26

*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
Kontaktdaten:

Beitragvon Markus12 » Mittwoch 15. August 2007, 16:35

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

Beitragvon rolgal_reloaded » Donnerstag 16. August 2007, 12:50

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

Beitragvon BlackJack » Donnerstag 16. August 2007, 14:18

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

Beitragvon rolgal_reloaded » Donnerstag 16. August 2007, 14: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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder