OOP Mehrere Klassen

H

HansiWinter

Gast
Hallo,

ich weiß, ich habe vor kurzem eine sehr ähnliche Frage gestellt, aber ich bin da leider immer noch nicht wirklich weiter gekommen. :(

Ich habe heute mal ein Beispiel entwickelt und wollte euch nochmal bitten, mir hier weiter zu helfen. Dazu habe ich folgende zwei Klassen angelegt. Keine Angst! So lange ist das aber nicht. ;)

Ich habe mir überlegt, ein Rechenprogramm zu erstellen, in dem man zu schreibende Prüfungen anlegt und die Noten, die man in den Prüfungen erzielt hat speichert.

1) Hier werden die Prüfungen ('abteilung') angelegt. Jede Prüfung hat die Attribute pruefung (= der Name), punkte und note. Und ein paar Getter und Setter, nichts spektakuläres.

Java:
 public class Rechenergebnis {
	
	String pruefung;
	double punkte;
	double note;
	
	public void setpruefung(String pruefung){
		this.pruefung=pruefung;
	}
	
	public String getpruefung(){
		System.out.println("Die Pruefung heisst: "+pruefung);
		return pruefung;
	}
	
	public void setpunkte(double punkte){
		this.punkte = punkte;
	}
	
	public double getpunkte(){
		System.out.println("Die Pruefungg bringt: "+punkte+" punkte Punkte.");
		return punkte;
	}
	
	public void setnote(double note){
		this.note = note;
	}
	
	public double getnote(){
		System.out.println("Sie haben die Note: "+note+" erreicht.");
		return note;
	}
}

2) Mithilfe einer zweiten Klasse will ich nun die Noten speichern. Später will ich den Durchschnitt errechnen. Ich habe nun ein Array mit 3 Rechenergebnissen angelegt.

Nun habe ich mir das so überlegt, in der ersten Methode soll das Ergebnis einer bestimmten Prüfung hinzugefügt werden und mit anzahl wird gezählt, wieviele Rechenergebnisse im Array schon sind.

Java:
public class rechendurchschnittsrechner{
	
	private Rechenergebnis[]ergs = new Rechenergebnis[3];
	private int anzahl;
	
	public void fuegehinzu(Rechenergebnis re){
		if(re != null){
			if(anzahl<ergs.length){
				ergs[anzahl]=re;
				anzahl++;
			}
		}
	}
	public int getAnzahl(){
		return anzahl;
	}
}

Das Problem habe ich nun aber in der Anwendungsklasse. Ich habe das hier unten versucht. Vom Gedankengang her: Ich habe eine Prüfung EidiL angelegt und dann verschiedene Methoden in Rechenergebnis aufgerufen. EidiL ist ja eine Instanz davon.

Nun beginnt aber mein Problem: Ich weiß echt nicht, wie ich nun rüber zu dem rechendurchschnittsrechner komme. Ich wollte die dortigen Methoden erst mit EidiL aufrufen, da das ja aber keine Instanz von rechendurchschnittsrechner ist, ging das natürlich nicht. Dann habe ich mir überlegt, eine neue Instanz von rechendurchschnittsrechner anzulegen, aber dann kann ich zum einen nicht etwas aus der Klasse Rechenergbnis übergeben, zum anderen stehen die beiden Instanzen der unterschiedlichen Klassen ja gar nicht in Verbindung.

Java:
public class RechenergebnisAW{
	public static void main (String[]Args){
		
		notendurchschnittsrechner ndEidI = new notendurchschnittsrechner();
		
		String[] Rechnen = new String[3];
		Rechnen[0]="Materialwirtschaft";
		Rechnen[1]="Logistik";
		Rechnen[2]="Finanzierung";
		
		Rechenergebnis EidI = new Rechenergebnis();
		
		EidiL.setpruefung("Einfuehrung in die Industrielle Logistik");
		EidiL.getpruefung();
		
		EidiL.setpunkte(9);
		EiiLI.getpunkte();
		
		EidiL.setnote(2.0);
		EidiL.getnote();
		
		ndEidiL.fuegehinzu(2.0);
		ndEidiL.getAnzahl();
	}
}

Ist das Problem verständlich? Ich habe hier echt noch ein grundlegendes Problem und wäre über Hilfe sehr erfreut!

Ich möchte die beiden oberen Klassen eigentlich genau so verwenden, weil sie für mich so Sinn machen. Wie müsste nun die Anwendungsklasse dazu aussehen? Wäre super, wenn mir da jemand einmal eine 'Muster'lösung oder was in der Art dazu geben könnte, damit ich mal auf einen Blick sehe, wie ich vorgehen muss, wenn ich mehrere nicht verwandte Klassen verwenden möchte. Wäre echt spitze! :)
 

Fu3L

Top Contributor
Du solltest das System.out aus den Gettern entfernen, denn ein getter sollte wirklich nur was zurückgeben. gibAus() wäre dafür gut.

Wieso speicherst du nicht einfach alle Ergebnisse in einer Klasse UND berechnest dort den Durchschnitt? Wenn der Durchschnitt verlangt wird, einfach alle Werte des Arrays aufaddieren und durch anzahl teilen.
Konventionen: Klassennamen groß, variablennamen klein ;)
 
H

HansiWinter

Gast
Du solltest das System.out aus den Gettern entfernen, denn ein getter sollte wirklich nur was zurückgeben. gibAus() wäre dafür gut.

Wieso speicherst du nicht einfach alle Ergebnisse in einer Klasse UND berechnest dort den Durchschnitt? Wenn der Durchschnitt verlangt wird, einfach alle Werte des Arrays aufaddieren und durch anzahl teilen.
Konventionen: Klassennamen groß, variablennamen klein ;)

Hi :)
Sorry, mit den Konventionen habe ich es leider noch nicht so.

Das System.out ist eigentlich nur zur Kontrolle gedacht, würde ich sonst nicht so machen, werde deinen Vorschlag aber berücksichtigen!

Ja, das habe ich mir zwar auch überlegt, aber das löst nicht mein Problem: Ich habe ja Probleme damit, zwei Klassen, die so nicht miteinander in Verbindung stehen zu benutzen. Daher würde ich gerne für diese zwei Klassen eine Lösung finden...
 

Fu3L

Top Contributor
Achso, System.outs zur Kontrolle, wo Fehler sind bzw. obs so läuft wie man möchte, sind natürlich gut während der Entwicklung ;)

Ich verstehe aber nicht ganz, wo das Problem ist, du rufst doch hier:
Java:
ndEidiL.fuegehinzu(2.0);
ndEidiL.getAnzahl();

eine andere Klasse auf und hast die so sozusagen verbunden^^ Oder willst du ein Rechenergebnis an deinen Durchschnittsrechner übergeben? Wenn nicht, beschreibe doch bitte das, was du machen möchtest noch wortreicher. Ich lese es auch wenns lang ist^^ ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D OOP- Eine Klasse in mehrere Klassen aufteilen Java Basics - Anfänger-Themen 7
I Klassen Mehrere Java Klassen in einer .java Datei Java Basics - Anfänger-Themen 7
B Mehrere Klassen miteinander kommunizieren lassen Java Basics - Anfänger-Themen 4
O Absolute Pfade in mehrere Klassen verwenden Java Basics - Anfänger-Themen 3
J Mehrere Klassen in eine Klasse schreiben? Java Basics - Anfänger-Themen 7
F Objektattribute über mehrere Klassen weitergeben Java Basics - Anfänger-Themen 2
K Mehrere Klassen beim JavaEditor verwenden - möglich? Java Basics - Anfänger-Themen 8
D variablen über mehrere Klassen Java Basics - Anfänger-Themen 12
M Mehrere Klassen Java Basics - Anfänger-Themen 13
R Warum mehrere Klassen? Java Basics - Anfänger-Themen 13
H OOP Mehrere Klassen 'verbinden'? Java Basics - Anfänger-Themen 4
N Überladen über mehrere Klassen hinweg? Java Basics - Anfänger-Themen 3
J Javadoc -> Mehrere Klassen Java Basics - Anfänger-Themen 8
B Mehrere Klassen in der Main Klasse? Java Basics - Anfänger-Themen 4
S mehrere einzelne klassen in eine datei packen Java Basics - Anfänger-Themen 4
A mehrere Klassen verbinden Java Basics - Anfänger-Themen 7
H BlueJ mehrere Klassen Java Basics - Anfänger-Themen 6
Antoras eine Instanz von mehrere Klassen aus nutzen Java Basics - Anfänger-Themen 2
Antoras Auf mehrere Klassen mit einer einzigen Methode zugreifen Java Basics - Anfänger-Themen 17
M Mehrere Klassen verbinden - Module Java Basics - Anfänger-Themen 3
H OO-Anfänger: mehrere Klassen greifen auf eine Instanz zu Java Basics - Anfänger-Themen 9
T Mehrere paint Methoden in unterschiedlichen Klassen Java Basics - Anfänger-Themen 7
S Mehrere klassen in einem GUI ausführen Java Basics - Anfänger-Themen 3
D Mehrere JFrames in eigenen Klassen und Dateien? Java Basics - Anfänger-Themen 4
P Mehrere Klassen in Applet einbringen Java Basics - Anfänger-Themen 10
L ArrayList für mehrere Klassen zugänglich Java Basics - Anfänger-Themen 10
G Chatprogramm: mehrere Klassen Java Basics - Anfänger-Themen 12
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
T Mehrere if bedingungen ohne & Java Basics - Anfänger-Themen 2
MiMa Java Doc mehrere Return Parameter Java Basics - Anfänger-Themen 11
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
Buroto Klassen Mehrere .txt Datein verbienden und anschließend auslisten Java Basics - Anfänger-Themen 10
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
D mehrere Berechnungen in einer Methode Java Basics - Anfänger-Themen 9
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
Kotelettklopfer Mehrere Projekte in einem Git verwalten Java Basics - Anfänger-Themen 10
I JAX-RS Mehrere Parameter in Query Java Basics - Anfänger-Themen 3
M mehrere Rückgabenwerte aus Methode Java Basics - Anfänger-Themen 7
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
TimoN11 Java - Eine oder mehrere Eingaben möglich machen Java Basics - Anfänger-Themen 6
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
F Mehrere Server Sockets in einer Anwendung Java Basics - Anfänger-Themen 9
T DoWhile Schleife über mehrere Mothoden Java Basics - Anfänger-Themen 5
B Methoden Mehrere ähnliche Methoden zusammenfassen Java Basics - Anfänger-Themen 24
E Mehrere Eingabezeilen gleichzeitig einlesen Java Basics - Anfänger-Themen 7
C Mehrere Zufallswerte Java Basics - Anfänger-Themen 4
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
F Mehrere Exceptions in einem Catch-Block abfangen Java Basics - Anfänger-Themen 12
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
Henri Mehrere Ordner umbenennen Java Basics - Anfänger-Themen 11
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
J Mehrere paintComponenten in einem Programm Java Basics - Anfänger-Themen 0
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
B Jeweils den Parent bekommen -> mehrere Ebenen Java Basics - Anfänger-Themen 2
javajoshi mehrere Threads: Methoden zentral unterbringen Java Basics - Anfänger-Themen 8
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
L Mehrere Jars im Unterordner Java Basics - Anfänger-Themen 2
L LibGDX - mehrere Screens Java Basics - Anfänger-Themen 1
J Sudoku mehrere Lösungen Java Basics - Anfänger-Themen 29
F Mehrere Instanzen der Klasse A EINER Instanz der Klasse B übergeben Java Basics - Anfänger-Themen 3
T Mehrere JFrames gleichzeitig öffnen Java Basics - Anfänger-Themen 6
O Erste Schritte Scanner mehrere male benutzen (Konsole) Java Basics - Anfänger-Themen 7
S mehrere If Bedingungen Java Basics - Anfänger-Themen 5
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
B Mehrere Zahlen speichern Java Basics - Anfänger-Themen 60
M mehrere extends? Java Basics - Anfänger-Themen 19
N Datei Zeilenweise einlesen, Ausgabe mehrere Arrays Java Basics - Anfänger-Themen 7
C ButtonController löst mehrere Methoden aus Java Basics - Anfänger-Themen 5
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
B Timer mehrere Male ausführen Java Basics - Anfänger-Themen 4
kilopack15 Mehrere Threads in einer Klasse Java Basics - Anfänger-Themen 8
F mehrere eingegebene Zahlen mit Zahlen von 1-9 multiplizieren Java Basics - Anfänger-Themen 18
F Mehrere Konstruktoren? Wofür? Java Basics - Anfänger-Themen 21
J Mehrere Eingabefelder programmiert (Zeigt Fehler an) Java Basics - Anfänger-Themen 6
Jinnai4 Mehrere Textfelder überprüfen Java Basics - Anfänger-Themen 16
N Mehrere Forms auf einem Panel Java Basics - Anfänger-Themen 6
Tommy Nightmare Variable auf mehrere Ungleichheiten prüfen Java Basics - Anfänger-Themen 18
D Mehrere Objekte in ein Objekt zusammenfassen Java Basics - Anfänger-Themen 16
D Input/Output Mehrere Befehle nacheinander ausführen Java Basics - Anfänger-Themen 20
K Mehrere Objekte anlegen Java Basics - Anfänger-Themen 23
N Integers aus Textdatei auslesen und mehrere Arrays erstellen Java Basics - Anfänger-Themen 9
S Verständnis - Frage mehrere SQL Statements in While Schleife Java Basics - Anfänger-Themen 0
J MVC Pattern, mehrere Controller/Views/Models Java Basics - Anfänger-Themen 0
J Mehrere IF Anweisungen und dazugehörige ELSE Java Basics - Anfänger-Themen 6
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
F Mehrere Konstruktoren Java Basics - Anfänger-Themen 10
A Mehrere Radiobuttons Java Basics - Anfänger-Themen 3
B Klassen Mehrere Objekte mit Schleife erstellen - How? Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben