Liebes Forum,
ich beschäftige mich derzeit mal wieder ein bisschen mit Java und wollte mal fragen wie man da möglichst sinnvoll Klassen einbindet usw.
Ich habe ein Projekt "Uebung" :
Dazu gehört ein Package "Uebung" mit
* der "public class Uebung" (die auch die Methode main beinhaltet)
* sowie ein paar weiteren Klassen.
Im moment mache ich es immer so, dass das Erzeugen von Klassenobjekten, sowie der Aufruf von Klassenmethoden immer innerhalb der einen main Methode der "public class Uebung" abläuft und das gefällt mir irgendwie nicht, weil das mit der Zeit irgendwie schrecklich unübersichtlich wird.
Ist es sinnvoll das Erzeugen von Objekten, sowie den Aufruf von set- und get-Methoden in eine Funktion innerhalb der jeweiligen Klassendefinition zu packen, und in "main" nur noch diese Funktionen aufzurufen?
Java - Quellcode organisieren
Re: Java - Quellcode organisieren
Hallo,
die main-Methode ist eigentlich nur der Startpunkt einer (Java-)Anwendung. Dann erzeugt man normalerweise (sofort) eine Instanz einer (zentralen) Klasse und macht hier dann alles weitere (neue Klassen erzeugen, Methode aufrufen etc).
also in main nur:
- neue Instanz erzeugen
Jetzt kann man in initmyApp alles weitere prüfen (Übergabeparameter, Umgebung, Betriebssystem etc) und dann gehts weiter...
Packagenamen werden übrigens immer klein geschrieben und sollten mit einer Domain beginnen:
de.debianforum.uebung
die main-Methode ist eigentlich nur der Startpunkt einer (Java-)Anwendung. Dann erzeugt man normalerweise (sofort) eine Instanz einer (zentralen) Klasse und macht hier dann alles weitere (neue Klassen erzeugen, Methode aufrufen etc).
also in main nur:
- neue Instanz erzeugen
Code: Alles auswählen
DeineAppKlasse app = new DeineAppKlasse();
app.initMyApp();
Packagenamen werden übrigens immer klein geschrieben und sollten mit einer Domain beginnen:
de.debianforum.uebung
Re: Java - Quellcode organisieren
Das ging ja fix
Danke Dir.
Wenn ich das richtig verstanden habe, erstelle ich mir also zuerst mein package localhost.uebung mit einer Hauptklasse uebung.java.
Für alle weiteren Klassen erstelle ich zwei Klassen:
Beispiel_Klasse1: um zum einen die Klassenvariablen, Methoden, etc. zu definieren. Und
Beispiel_Klasse1_App: um mit den Objekten der obigen Klasse zu arbeiten.
Und in main wird dann nur eine Instanz von Beispiel_Klasse1_App erzeugt und anschließend die entsprechende Methode aufgerufen.
Ist das so in Ordnung ?
Danke Dir.
Wenn ich das richtig verstanden habe, erstelle ich mir also zuerst mein package localhost.uebung mit einer Hauptklasse uebung.java.
Für alle weiteren Klassen erstelle ich zwei Klassen:
Beispiel_Klasse1: um zum einen die Klassenvariablen, Methoden, etc. zu definieren. Und
Beispiel_Klasse1_App: um mit den Objekten der obigen Klasse zu arbeiten.
Und in main wird dann nur eine Instanz von Beispiel_Klasse1_App erzeugt und anschließend die entsprechende Methode aufgerufen.
Ist das so in Ordnung ?
Re: Java - Quellcode organisieren
1. Klassennamen fangen Groß an und dann in CamelCase (Beispiel: "DeineSuperKlasse").
2.Allgemeine Tipps zu geben, ist da gar nicht so leicht. Man muss sich die "Objektorientierte" Denkweise schon ein wenig antrainieren.
Eigentlich musst du dir mal überlegen, was dein Programm machen soll und aus welchen Teilen/Elementen es besteht. Dann erstellst du für die einzelnen Aufgaben/Elemente eigene Klassen, die alle nötigen Informationen (Variablen) enthalten und alle nötigen Aktionen (Methoden) ausführen können.
Die Kombination aus den Einzelteilen ergibt dann das Programm...(in der Theorie *g*)
2.Allgemeine Tipps zu geben, ist da gar nicht so leicht. Man muss sich die "Objektorientierte" Denkweise schon ein wenig antrainieren.
Eigentlich musst du dir mal überlegen, was dein Programm machen soll und aus welchen Teilen/Elementen es besteht. Dann erstellst du für die einzelnen Aufgaben/Elemente eigene Klassen, die alle nötigen Informationen (Variablen) enthalten und alle nötigen Aktionen (Methoden) ausführen können.
Die Kombination aus den Einzelteilen ergibt dann das Programm...(in der Theorie *g*)
Re: Java - Quellcode organisieren
Mein momentanes Problem ist, dass ich verschiedene Uebungen mache, und hin und wieder nachsehen möchte, wie ich denn dieses oder jenes in Aufgabe X gelöst habe, etc.
Ich habe also ein Projekt und viele Klassen, die an sich gar nichts miteinander zu tun haben. Die Variante, dass ich zu jeder Klasse nun aber einfach noch eine zusätzliche Applikationsklasse mit Innit-Methode erstelle (die dann in main aufgerufen wird), macht mir das ganze aber schonmal wesentlich übersichtlicher.
Aber für heute lass ich es jetzt glaub ich auch mal gut sein.
Danke nochmal!
Ich habe also ein Projekt und viele Klassen, die an sich gar nichts miteinander zu tun haben. Die Variante, dass ich zu jeder Klasse nun aber einfach noch eine zusätzliche Applikationsklasse mit Innit-Methode erstelle (die dann in main aufgerufen wird), macht mir das ganze aber schonmal wesentlich übersichtlicher.
Aber für heute lass ich es jetzt glaub ich auch mal gut sein.
Danke nochmal!