Hallöchen, heut hab ich mal eine saudämliche Frage:
Ich schreib derzeit an einem kleinen Programm, dass so langsam größer und größer... sprich unübersichtlicher wird. Jetzt möchte ich da etwas Ordnung hinein bringen und den Quellcode auf mehrere Dateien verteilen, daran verzweifle ich aber allmählich.
Ich hab mich in diversen Tutorials und Hilfen mit Packaging beschäftigt, aber das beschreibt alles nicht so recht das Problem, das ich dabei habe. Dort werden immer nur einzelne Klassen auf mehrere Dateien verteilt, aber was mach ich, wenn ich einzelne Funktionen EINER Klasse auf mehrere Dateien verteilen möchte?
Ich komme von c++, da sah das ganze in etwa so aus:
main.cpp (die Datei wird dann mit dem Compiler angesprochen)
elements.hpp:
elements.cpp
Also in diesem Beispiel wird die Datei main.cpp kompiliert, die zunächst mal eine Headerdatei elements.hpp importiert, in der nur Variablen und Funktionennamen deklariert sind. Erst in der Datei elements.cpp stehen dann (mit Angabe des Namensraums) die eigentlichen Funktionen drin. Genau das würde ich jetzt in Java auch gerne machen, ist das möglich? Oder wie ist das in Java üblich, wenn eine Klasse immer länger und länger wird?
Nachtrag:
Ich merke grade, mein Problem wird nicht 100% ersichtlich durch das bisher geschriebene. Zur Aufklärung: in der elements.hpp könnten beispielsweise sehr viele Funktionen deklariert sein, die alle sehr lang sind. Zur Übersichtlichkeit werden diese vielen Funktionen jetzt in sinnvollen Gruppen auf mehrere Dateien verteilt. Also ein Headerfile, dass die Funktionen deklariert (damit sich auch keine dazumogeln kann) und dann ein paar Dutzend einzelne Dateien, in denen die Funktionen dann drinstehen
Ich schreib derzeit an einem kleinen Programm, dass so langsam größer und größer... sprich unübersichtlicher wird. Jetzt möchte ich da etwas Ordnung hinein bringen und den Quellcode auf mehrere Dateien verteilen, daran verzweifle ich aber allmählich.
Ich hab mich in diversen Tutorials und Hilfen mit Packaging beschäftigt, aber das beschreibt alles nicht so recht das Problem, das ich dabei habe. Dort werden immer nur einzelne Klassen auf mehrere Dateien verteilt, aber was mach ich, wenn ich einzelne Funktionen EINER Klasse auf mehrere Dateien verteilen möchte?
Ich komme von c++, da sah das ganze in etwa so aus:
main.cpp (die Datei wird dann mit dem Compiler angesprochen)
Code:
#include "elements.hpp"
#include "elements.cpp"
int main(int argc, char *argv[])
{
PointValues P1, P2;
P1.flush();
}
elements.hpp:
Code:
class PointValues
{
private:
double stat, rw, hw, ny, h, n;
public:
PointValues() {}
~PointValues() {}
void flush();
};
elements.cpp
Code:
void PointValues::flush()
{
stat = 0.;
rw = 0.;
hw = 0.;
ny = 0.;
h = 0.;
n = 0.;
return;
}
Also in diesem Beispiel wird die Datei main.cpp kompiliert, die zunächst mal eine Headerdatei elements.hpp importiert, in der nur Variablen und Funktionennamen deklariert sind. Erst in der Datei elements.cpp stehen dann (mit Angabe des Namensraums) die eigentlichen Funktionen drin. Genau das würde ich jetzt in Java auch gerne machen, ist das möglich? Oder wie ist das in Java üblich, wenn eine Klasse immer länger und länger wird?
Nachtrag:
Ich merke grade, mein Problem wird nicht 100% ersichtlich durch das bisher geschriebene. Zur Aufklärung: in der elements.hpp könnten beispielsweise sehr viele Funktionen deklariert sein, die alle sehr lang sind. Zur Übersichtlichkeit werden diese vielen Funktionen jetzt in sinnvollen Gruppen auf mehrere Dateien verteilt. Also ein Headerfile, dass die Funktionen deklariert (damit sich auch keine dazumogeln kann) und dann ein paar Dutzend einzelne Dateien, in denen die Funktionen dann drinstehen
Zuletzt bearbeitet: