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
 

me.toString

Bekanntes Mitglied
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
 

Nobody

Top Contributor
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.
 

Stefan1200

Top Contributor
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.
 

Keld

Mitglied
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 :)
 

marsias

Aktives Mitglied
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
 

jopp

Mitglied
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
 

marsias

Aktives Mitglied
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
 
S

stev.glasow

Gast
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 ?
 

Nobody

Top Contributor
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
 

Keld

Mitglied
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.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
G Weiß jemand wie man dieses Programm schreibt? Java Basics - Anfänger-Themen 84
N wie schreibt man die neue for schleife? Java Basics - Anfänger-Themen 3
X Wann schreibt man diese Syntax zeichen { } Java Basics - Anfänger-Themen 8
C PrintWriter schreibt keine in Strings enthaltenen Zeilenumbrüche Java Basics - Anfänger-Themen 9
D FileWriter schreibt nicht in Datei Java Basics - Anfänger-Themen 14
D Input/Output Writer schreibt nicht in Subprozess Java Basics - Anfänger-Themen 3
B Erste Schritte Java IDE schreibt "(String[] args)" Java Basics - Anfänger-Themen 5
M BufferedWriter schreibt nur "?" oO Java Basics - Anfänger-Themen 6
K BufferedWriter schreibt die letzten paar Zeilen nicht Java Basics - Anfänger-Themen 5
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
K println schreibt nichts auf das Display Java Basics - Anfänger-Themen 3
S Filewriter schreibt einfach nicht Java Basics - Anfänger-Themen 6
M RandomAccessFile schreibt Sonderzeichen vor String Java Basics - Anfänger-Themen 2
J RandomAccessFile schreibt falsch Java Basics - Anfänger-Themen 2
cpt.Tomato Best Practice Wie speichert/Dokumentiert Ihr eure Programme? Java Basics - Anfänger-Themen 8
A Am Buch lesen, nun brauch ich eure Hilfe um mir super() zu erklären Java Basics - Anfänger-Themen 4
N Will eure meinung Wissen Java Basics - Anfänger-Themen 15
G Ich brauche eure Hilfe! Java Basics - Anfänger-Themen 8
G Brauche eure Hilfe bei meinem Programm Java Basics - Anfänger-Themen 4
S Brauch mal eure Hilfe . Java Basics - Anfänger-Themen 7
D JTextArea Probleme !!! Brauche eure Hilfe Java Basics - Anfänger-Themen 2
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
Establishmensch Untermenü Programme Java Basics - Anfänger-Themen 5
W Zwei Programme sollen auf eine Klasse zugreifen Java Basics - Anfänger-Themen 18
C Problem: PC ohne Internet und keine Möglichkeit Programme zu laden Java Basics - Anfänger-Themen 5
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
B Suche Programme mit Fehlern Java Basics - Anfänger-Themen 9
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
T Grafische programme - Variblen Schrift Java Basics - Anfänger-Themen 2
P Kann ich Java - Programme auch ohne Editor öffnen? Java Basics - Anfänger-Themen 70
H GSON-Bibliothek für eigene Programme benutzen Java Basics - Anfänger-Themen 2
A Erste Schritte Vieschiedene Java versionen für verschiedne Programme/Projekte Java Basics - Anfänger-Themen 3
D Zusammenfassen zweier Programme Java Basics - Anfänger-Themen 3
D Java-Programme nur vom eigenem Pc ausführbar Java Basics - Anfänger-Themen 10
A Eclips Problem mit der Wiedergabe des geschrieben Programme Java Basics - Anfänger-Themen 2
K Compiler-Fehler Programme funktionieren nicht mehr Java Basics - Anfänger-Themen 5
B Warum haben Java Programme ein anderes Design? Java Basics - Anfänger-Themen 5
H Sehr einfache Java-Programme Java Basics - Anfänger-Themen 24
M Erste Schritte 2 Kleine Programme Java Basics - Anfänger-Themen 27
Anfänger2011 selber geschriebene Programme nutzen Java Basics - Anfänger-Themen 11
G Erste Schritte von Eclipse zur Anwendung: Programme auf anderen Rechnern zum Laufen bringen Java Basics - Anfänger-Themen 4
Kenan89 Vorbereitungen für JSP und Java Programme Java Basics - Anfänger-Themen 2
S Verständnisprobleme wie Java Programme ablaufen Java Basics - Anfänger-Themen 6
P Suche Java Programme mit gutem/anfängertauglichem Quellcode Java Basics - Anfänger-Themen 8
F Warum werden nicht mehr Programme in Java geschrieben? Java Basics - Anfänger-Themen 27
B Wie entwirft man JAVA-Programme? Java Basics - Anfänger-Themen 10
G Kleine Java Programme aus Main Java Programm starten..... Java Basics - Anfänger-Themen 3
H Befehle an andere Programme Java Basics - Anfänger-Themen 8
B Java programme Vorschläge! Java Basics - Anfänger-Themen 13
R run ->eclipse ruft falsche Programme auf Java Basics - Anfänger-Themen 5
R java-programme schneller laufen lassen Java Basics - Anfänger-Themen 41
K JAVA für online und offline Programme? Java Basics - Anfänger-Themen 7
N Kann keine Java-Programme mehr schreiben Java Basics - Anfänger-Themen 10
K Java Programme ausführen? Java Basics - Anfänger-Themen 8
T externe Programme pipen Java Basics - Anfänger-Themen 2
G Kann mit Java Editor keine Programme schreiben Java Basics - Anfänger-Themen 5
H Textpad > Benutzer-Programme für Java Java Basics - Anfänger-Themen 2
S Zwei Programme verwenden eine selbe Klasse Java Basics - Anfänger-Themen 4
C Mit Java auf laufende Programme zugreifen Java Basics - Anfänger-Themen 3
I Java-Programme starten nicht Java Basics - Anfänger-Themen 14
C was mach ich erst wenn die programme richtig schwer werden? Java Basics - Anfänger-Themen 2
M Andere Programme anspringen Java Basics - Anfänger-Themen 5
V Parameter an Java-Programme übergeben Java Basics - Anfänger-Themen 8
F Ausführbare Java-Programme erstellen Java Basics - Anfänger-Themen 9
7 Java Programme - Sicherheit Java Basics - Anfänger-Themen 26
D Mehrsprachige Programme ? Java Basics - Anfänger-Themen 4
B 2 Programme als 1 Java Programm einbinden Java Basics - Anfänger-Themen 15
G Java Programme nichtmehr-decompilierbar machen Java Basics - Anfänger-Themen 34
M JFileChooser, Nur im C:Programme Java Basics - Anfänger-Themen 5
P Programme für Sockets Java Basics - Anfänger-Themen 2
K aus Java Programme Jar.datei erstellen (eclipse) Java Basics - Anfänger-Themen 15
H Programme schreiben Java Basics - Anfänger-Themen 7
Q POI Beispiel Programme Java Basics - Anfänger-Themen 2
T Wie kann ich andere Programme in Java über ein Menü öffnen? Java Basics - Anfänger-Themen 12
K Kann keine Java Programme öffnen Java Basics - Anfänger-Themen 17
G Programme via java steuern Java Basics - Anfänger-Themen 5
G Programme etwas machen lassen. Java Basics - Anfänger-Themen 4
L Laufende Programme in der Konsole bedienen Java Basics - Anfänger-Themen 2
B Hilfebrowser für Programme Java Basics - Anfänger-Themen 2
G Wie kann ich auf laufende Programme zugreifen? Java Basics - Anfänger-Themen 21
K Java Programme ausführen Java Basics - Anfänger-Themen 8
A Habt ihr ein paar ideen für Programme? Java Basics - Anfänger-Themen 8
A Programme für win Java Basics - Anfänger-Themen 3
F externe programme ueber eine string starten Java Basics - Anfänger-Themen 2
M programme exportieren Java Basics - Anfänger-Themen 5
A Javaprobleme! Programme jemandem zur Korrektur schicken? Java Basics - Anfänger-Themen 2
S lokale Programme per Button starten Java Basics - Anfänger-Themen 4
S Befehle an externe Programme Java Basics - Anfänger-Themen 4
K Mein Pc will meine Programme nicht kompilieren Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben