Hallo Leute, ich versuche gerade die Gedanken meines Profs für Programmierung nachzuvollziehen.
Es geht konkret darum, einen Rechner zu implementieren, der in der Lage ist, Brüche zu addieren, multiplizieren, dividieren und subtrahieren. Das ganze schön objektorientiert.
Mein Ansatz war folgender Klassenaufbau:
1. Bruch:
- Zähler und Nenner als Variablen mit Getter
- Konstruktor, in dem direkt mithilfe des Größten gemeinsamen Teilers gekürzt wird
2. Rechner:
- Methoden zum Berechnen, alle kriegen als Argument zwei Brüche übergeben und geben einen "Ergebnisbruch" zurück
3. Starter:
- main-Methode, in der Rechner-, Eingabe- und Ausgabeobjekte instanziiert werden und die Methoden zum Einlesen, Rechnen und Ausgeben aufgerufen werden
4. Eingabe/Ausgabe:
- Methode zum Einlesen von Brüchen, zum einlesen der Operation und eine weitere zum Ausgeben. Letztere bekommt den Ergebnisbruch übergeben.
Mein Prof hat allerdings einen anderen Ansatz:
1. Input/Output:
- Eine Methode zur Eingabe eines Bruchs, eine zweite für die Operation
2. Bruchautomat:
- main-Methode, User wird aufgefordert,
3. Bruch:
- Hier ist das, was mich verwirrt: Die Klasse Bruch besitzt alle Methoden zum Berechnen selbst. Jede Methode wird also von einem Bruchobjekt aufgerufen und ihr wird ein zweiter übergeben. Die Methode addiert dann zum Beispiel den übergebenen Bruch zum Bruchobjekt, von dem die Methode aufgerufen wird.
- Zähler- und Nennervariable und getter+setter
Wie sieht denn jetzt eine Musterlösung aus, ich dachte es ist nicht OOP, wenn die Datenklasse solche Methoden hat? Ich kann morgen auch gerne Codebeispiele posten.
Vielen Dank
Es geht konkret darum, einen Rechner zu implementieren, der in der Lage ist, Brüche zu addieren, multiplizieren, dividieren und subtrahieren. Das ganze schön objektorientiert.
Mein Ansatz war folgender Klassenaufbau:
1. Bruch:
- Zähler und Nenner als Variablen mit Getter
- Konstruktor, in dem direkt mithilfe des Größten gemeinsamen Teilers gekürzt wird
2. Rechner:
- Methoden zum Berechnen, alle kriegen als Argument zwei Brüche übergeben und geben einen "Ergebnisbruch" zurück
3. Starter:
- main-Methode, in der Rechner-, Eingabe- und Ausgabeobjekte instanziiert werden und die Methoden zum Einlesen, Rechnen und Ausgeben aufgerufen werden
4. Eingabe/Ausgabe:
- Methode zum Einlesen von Brüchen, zum einlesen der Operation und eine weitere zum Ausgeben. Letztere bekommt den Ergebnisbruch übergeben.
Mein Prof hat allerdings einen anderen Ansatz:
1. Input/Output:
- Eine Methode zur Eingabe eines Bruchs, eine zweite für die Operation
2. Bruchautomat:
- main-Methode, User wird aufgefordert,
3. Bruch:
- Hier ist das, was mich verwirrt: Die Klasse Bruch besitzt alle Methoden zum Berechnen selbst. Jede Methode wird also von einem Bruchobjekt aufgerufen und ihr wird ein zweiter übergeben. Die Methode addiert dann zum Beispiel den übergebenen Bruch zum Bruchobjekt, von dem die Methode aufgerufen wird.
- Zähler- und Nennervariable und getter+setter
Wie sieht denn jetzt eine Musterlösung aus, ich dachte es ist nicht OOP, wenn die Datenklasse solche Methoden hat? Ich kann morgen auch gerne Codebeispiele posten.
Vielen Dank