Hallo,
man macht eine Klasse, schreibt eine Main Funktion rein und klatsch ALLES, aber wirklich alles was man codet da rein => unschön, unsauber, nix OO - kennt ihr das? Ja, so haben wir doch alle mal angefangen zu programmieren
Leider programmiere ich noch zu oft auf diese art und weise. Nagut, die Pascal und VB Zeiten sind vorbei, wenn ich mit Java genau so coden würde, dann wäre das natürlich Fatal. "Man soll in Java so viele Klassen machen wie es nur geht", wurde mir geraten, schließlich macht das dann die ganze Code schöner + später ist es leichter Sachen zu ändern. Das ist mir eigentlich auch klar, aber irgendwie arbeite ich dennoch recht unschön und nicht OO - irgendwie bin ich froh, dass ich ein Programm schreiben kann, was das macht was ich möchte und richtig funktioniert, dabei ist mir leider egal wie das gecodet wurde, hauptsache es funktioniert. So kann das nicht wirklich weiter gehen :/
Nehmen wir mal an, ich möchte Schön + OO loslegen. Dann schreibe ich mir erstmal eine Klasse Main. Von da aus sollen dann die anderen Klassen aufgerufen werden. Das ist schon mal schön oder? - Ich betrachte mal Klassen wie Funktionen... ist das okey? Nehmen wir an ich arbeite nicht OO und habe quasi nur eine "Klasse". Dann schreibe ich da viele viele Funktionen und die werden durch die Main Funktionen alle einzel aufgerufen, so müsste man das auch unter Java mit Klassen machen(?) Also wiegesagt habe ich eine Main Klasse und möchte das genau so machen. Leider klappt das noch nicht so ganz. In Pascal/C oder sonstwo würde man das so schreiben:
Okey das mag jetzt nicht perfekt sein, aber ich hoffe ihr versteht das. Also hier klatsche ich nicht alles in meine Main rein, sondern baue dafür extra Funktionen. Nehmen wir an, das möchte ich jetzt mit Java auch so machen, nur mit den Klassen. Gut sagen wir mal ich habe meinen Class Main wo ich nicht wirklich weiß was ich rein schreiben soll, ausser eine mainfunktion:
Dann mache ich mir noch eine zweite Klasse, wo die Rechnung durchgeführt werden soll:
1. Ich weiß nicht wie ich von meine Main Klasse aus die Klasse Rechnung aufrufen kann 2. Wenn ich jetzt aus der Klasse Rechnung starte, funktioniert das ganz toll nur wurde mir auch gesagt, dass man immer zusehen sollte ohne static zu arbeiten. Wie könnte man das ganze jetzt ohne public static int Rechnung machen? (also dass da nur "public in Rechnung(int zahl)" steht? Wäre das sonst okey so weiter zu machen bzw. der richtige weg zum schönen und OO programmierung?
Habe dann noch etwas, wie müsste das ganze aussehen, wenn ich jetzt schon von der Klasse Main aus die Zahlen mitgeben möchte? Weil in mein Beispiel kommen ja die Zahlen erst ab der Klasse Rechnung, da kann man alles ändern usw. - das wäre doch eigentlich noch schön schon bei der Klassenaufruf von Rechnung eigene Zahlen mitgeben zu können oder?
Tja... bevor ich jetzt noch weitere Sachen schreibe, warte ich mal auf die viele Verbesserungsvorschläge
und ja natürlich lese ich die Tutorials, aber zu oft scheint das mit den einfachsten Sachen nicht zu klappen. Das Open Book: Java ist auch nur eine Insel ist wirklich sehr schön, aber daraus konnte ich immer noch richtig sauber und OO Java programmieren :/ Eig. habe ich schon ein Programm was läuft nur möchte ich das schöner und OO gestalten. Mir fällt schön + OO zu programmieren schwerer als die eigentliche Aufgabe (jetzt nur vom Programmablauf) hinzukriegen, was natürlich sehr schade ist
Danke schonmal für die tips!
Gruss
man macht eine Klasse, schreibt eine Main Funktion rein und klatsch ALLES, aber wirklich alles was man codet da rein => unschön, unsauber, nix OO - kennt ihr das? Ja, so haben wir doch alle mal angefangen zu programmieren
Nehmen wir mal an, ich möchte Schön + OO loslegen. Dann schreibe ich mir erstmal eine Klasse Main. Von da aus sollen dann die anderen Klassen aufgerufen werden. Das ist schon mal schön oder? - Ich betrachte mal Klassen wie Funktionen... ist das okey? Nehmen wir an ich arbeite nicht OO und habe quasi nur eine "Klasse". Dann schreibe ich da viele viele Funktionen und die werden durch die Main Funktionen alle einzel aufgerufen, so müsste man das auch unter Java mit Klassen machen(?) Also wiegesagt habe ich eine Main Klasse und möchte das genau so machen. Leider klappt das noch nicht so ganz. In Pascal/C oder sonstwo würde man das so schreiben:
PHP:
int rechnung(int zahl) {
zahl = zahl * zahl;
return zahl;
}
int main() {
int i = 5;
printf("ausgabe von i mal sich selbst: ", int rechnung(i));
return 0;
}
Okey das mag jetzt nicht perfekt sein, aber ich hoffe ihr versteht das. Also hier klatsche ich nicht alles in meine Main rein, sondern baue dafür extra Funktionen. Nehmen wir an, das möchte ich jetzt mit Java auch so machen, nur mit den Klassen. Gut sagen wir mal ich habe meinen Class Main wo ich nicht wirklich weiß was ich rein schreiben soll, ausser eine mainfunktion:
PHP:
public class Main {
public static void main(String[] args) {
}
}
Dann mache ich mir noch eine zweite Klasse, wo die Rechnung durchgeführt werden soll:
PHP:
public class Rechnung {
public static void main(String[] args) {
int i = 5;
i = Rechnung(i);
System.out.println("Ausgabe von i mal i:"+ i);
}
public static int Rechnung(int zahl) {
zahl = zahl * zahl;
return zahl;
}
}
1. Ich weiß nicht wie ich von meine Main Klasse aus die Klasse Rechnung aufrufen kann 2. Wenn ich jetzt aus der Klasse Rechnung starte, funktioniert das ganz toll nur wurde mir auch gesagt, dass man immer zusehen sollte ohne static zu arbeiten. Wie könnte man das ganze jetzt ohne public static int Rechnung machen? (also dass da nur "public in Rechnung(int zahl)" steht? Wäre das sonst okey so weiter zu machen bzw. der richtige weg zum schönen und OO programmierung?
Habe dann noch etwas, wie müsste das ganze aussehen, wenn ich jetzt schon von der Klasse Main aus die Zahlen mitgeben möchte? Weil in mein Beispiel kommen ja die Zahlen erst ab der Klasse Rechnung, da kann man alles ändern usw. - das wäre doch eigentlich noch schön schon bei der Klassenaufruf von Rechnung eigene Zahlen mitgeben zu können oder?
Tja... bevor ich jetzt noch weitere Sachen schreibe, warte ich mal auf die viele Verbesserungsvorschläge
Danke schonmal für die tips!
Gruss