Wie schreibt ihr eure Programme? Klassenweise oder linear?

Status
Nicht offen für weitere Antworten.

bröggle

Bekanntes Mitglied
hi,
Ich wollte mal fragen , wie ihr das macht, also ob ihr eure Programme in viele teilfunktionen ähhh Klassen aufteilt und diese dann in der Main aufruft,so wie es java eigentlich will, oder das ganze eher linear aufbaut?Also einfach eins nach dem anderen in die main und fertig?

^-^
p.s.: Diese Frage ist ernst gemeint... bitte nicht böse sein
 
Also ich mach das schön Klassenweise. Wenn du das linear machst verlierst du ja all die schönen Vorteile einer objektorientierten Programmiersprache ... 🙁
Auf dem ersten Blick scheint das mit den vielen Klassen die man schreiben muss ziemlich aufwendig ... aber im nachhinein wirst du froh sein, es Objektorientiert gemacht zu haben, da es erstens viel übersichtlicher wird und ausserdem kannst du so Code erzeugen, den du immer wieder verwenden kannst.

Fazit: Ich kann dir nur die Objektorientierte Programmierung empfehlen !! ... aber entscheide selbst ...

Michael
 
da ich mitm jbuilder und fast ständig mit einer gui arbeite, hab ich idR min 2 klassen.
daher kann ich eigentlich die oberflächenklasse als hauptklasse bezeichnen.

und dann entscheide ich na umfang meines projektes. wenn sie für die schule sind, sind sie eh oo, also mit mehreren klassen. wenn ich selber zb was schreib um ne bitrate zu berechnen linear, da es sich anders garnicht lohnt.

ist immer ne abwägung und wie weit ich es splitte ist auch projektabhängig. grundlegend ist es sinnvoll folgende einteilung zu haben:
oberflächenklasse: malt das ganze in das fenster usw
steuerungsklasse: berechnet, behandelt.... die werte und gibt sie zurück
objeklasse(n): oft sind eigene objekte sinnvoll um werte zusammenzufassen

das ganze kann/wird je nach komplexität noch gesplittet und so die aufgabe getrennt.
 
Also ich arbeite viel mit Methoden (ich versuche weitere Klassen zu meiden, nur wenn nötig). Aber alles schön in Methoden aufteilen ist sehr praktisch, besonders dann, wenn man den Code Part öfter in verschiedenen Stellen nochmal benötigt.

Ich versuche also, so weit es geht und ich es behersche, Objektorientiert zu programmieren.
 
Ich komme eigentlich aus der C/C++ welt. zumindest war das eine meiner ersten programmier sprachen.

Ich war immer der Meinung "Jede gute Programmiersprache fängt mit C an". Seit ich nun seit einiger Zeit mit Java arbeite habe ich meine Meinung grundlegend geändert.

Ich habe bisher bei noch keiner Programmiersprache einen so aufgeräumten Code gesehen, wie sich die designer ihn wohl auch vorstellten. Für kleine Programme reicht eine Klasse. Wenn man aber grösseres vorhat so ist die Nutzung des Klassen konzeptes sehr von vorteil. Man merkt es schon alleine daran wenn man GUI's erstellt oder noch einfacher: wenn man kleinere programme erstellt, und dann merkt, man kann 120 Zeilen code auf 4 oder 5 klassen aufteilen wobei jede klasse dann im durchschnitt 20-30 Zeilen Code enthält.

Wenn man einmal durchgestiegen ist wie die Java API sich aufbaut, hat man auch den entscheidenden Blick von "richtiger" objekt orientierter sprache.

Wenn ich mich an die WindowsAPI unter c++ zurückerinnere bekomme ich das kalte grausen 🙂
 
Hi!

Also ich programmiere jetzt seit 3 Jahren mit Java.
Vorher habe ich etwas c gemacht und Pascal.

Wäre die Objekt-Orientierte Modelierung schlecht hätte sich das Konzept
nicht durchgesetzt und sehr viele wären bei eine linearen programmierung
geblieben.

Als Anfänger denkt man "wofür soll das gut sein so viele klassen? schreiben und fertig."
Erst wenn man sich bißchen beschäftigt hat mit OO erkennt man die vorteile. Also Nachteile
sehe ich keine.

Jede Klasse bekommt ihre eigene Aufgabe was sie zu tun hat. Dadurch ist das programm leichter
zu warten und der Code wird Klarer! Vor allem wenn du dir Code anschauen musst den du vor einem
Jahr geschrieben hast! Und so werden fehler schneller gefunden!


mfg
 
hallo leute

meine programmierlaufbahn ist schon ziemlich lange, nur leider war sie nicht sehr intensiv. ein bisschen assembler, dann c, c++ (nur ganz wenig) und dann java. komme also auch eher von der "klassischen" seite.

nun bin ich gerade dabei ein programm mit gui zu entwickeln. dieses besteht natürlich aus einem hauptframe und vielen dialogen und internalframes und anderen klassen, die nur der berechnung diverser werte dienen. meine frage nun: ist es wirklich sinnvoll alles in eigene klassen aufzuteilen? von der seite der übersichtlichkeit bin ich davon begeistert. aber, wird unter oop wirklich verstanden jeden dialog, jedes neue fenster als neue klasse zu erstellen? und wenn ich alles in klassen aufteile, sollte ich für jede klasse ein eigenes file erstellen oder reicht es wenn ich alles in ein file schreibe? ist das dann im sinne von oo?

und eine frage habe ich noch: wenn ich aus meinem hauptprogramm ein dialog fenster (z.b. jframe) aufrufe wird in der taskleiste ein neues fenster geöffnet, als wäre es eine eigene anwendung (ist es das vielleicht?), jedoch rufe ich ein internalframe auf, bekomme ich kein zusätzliches fenster. und das verstehe ich nicht ganz, da das jframe auch zu dem hauptprogramm gehört und von diesem aufgerufen wird.

ich hoffe einer von euch kann mir bei meinen fragen helfen.

danke jopp
 
Hi!

Also man sollte es nicht übertreiben mit der erstellung der klassen.
Eine Klasse für eine berechnung ist bißchen übertrieben. Jede Klasse sollte in ein eigenes File.
Eine klasse mit verschiedenen Funktionen die diese berechnungen machen ist ok.

Also ich persönlich mache für jeden dialog eine eigene klasse und rufe den
jeweiligen Dialog aus dem Hauptframe auf. nicht für eine Messagebox dazu brauchst du keine eigene
klasse erstellen.

Ich empfele dir für dialog-fenster die Klassen von JDialog abzuleiten.
Dem JDialog kannst du sagen ob er Modal sein soll oder nicht.
Das heißt ob das Fenster als eigenes angezeigt wird, also auch in der Taskleiste zu sehen ist,
oder ob es angezeigt wird und nicht weggeklickt werden kann. also es wandert nicht in den hintergrund
und wartet auf eine benutzereingabe.

Ich empfele dir an dieser Stelle das "Java Tutorial" (zu finden auf java.sun.com)


mfg
 
ich finde man sollte jedes 'problem (art eines gegenstandes)' mit einer eigenen klasse darstellen, sonst geht später einfach der überblick verloren und die wiederverwendbarkeit ist somit auch gewährleistet - halt die oop so anwenden wofür sie auch entwickelt wurde - und nicht 'linierare denkweisen' in objektorientiertem code umsetzen !

ist klar was ich mit " 'problem (art eines gegenstandes)' " meine ?
 
wenn wir grad bei guis sind:

ich schreib jetzt dann ein fenster, in dem werte eingegeben werden und dann über die normale oberflächenklasse weitergeleitet wird. welche fensterklasse würdet ihr nehmen (mehrere werte müssen zurück eingegeben werden)? am besten noch mit grundangabe
 
Es gibt allgemein rund um das OOP sogenannte Design Patterns. Also das Programmieren nach Design... Singleton, Observer, Mediator um mal einige Design Patterns zu nennen. Diese Pattern sind grundlegend immer gleich aufgebaut, is ja auch der Sinn, und jeder Programmierer versteht sie auf anhieb. Nach diesen Patterns kann man sein Projekt designen und hat dementsprechend Klassen auf eines dieser Pattern darauf ausgelegt, zumal sie auch rein vom OOP gedanken bestimmte Probleme von ihrem design her von vornherein lösen. Man muss das Rad durch diese Patterns also nicht neu erfinden 🙂
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben