Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur

Kerstininer

Mitglied
Hallo,
ich bin Student und habe in etwa 20 Tagen eine Klausur in Informatik. Ich tue mich vor allem mit dem Objektorientierten Programmieren sehr schwer. Ich bekomme die Klassen, Enums und das Interface hin, kann zudem die private und public Eigenschaften der einzelnen Klassen deklarieren, bekomme zudem das erstellen der Getter/Setter und des Constructors hin. Aber ich tue mich extrem schwer beim implementieren der Verhältnisse (z.B. Mehrere Räume pro Krankenhaus aber ein Raum kann zugleich nur in einem Krankenhaus sein), zudem verwirren mich die Methoden die ich implementieren soll (z.B. Ein Mitarbeiter kann einem Raum zugewiesen werden und es muss davor geprüft werden ob dieser Mitarbeiter bereits einem anderem Raum zugewiesen wurde). Ich würde gerne wissen wo ich anfangen sollte mit dem Lernen um das zu verstehen, meine Vorlesungen helfen mir nicht wirklich weiter.

Jeder Ratschlag ist willkommen, am besten wäre ein detaillierter Guide oder ein Video was das erklärt.

Vielen Dank im Voraus
 

M.L.

Top Contributor
Objektorientierten Programmieren ...Verhältnisse ... die Methoden
Etwas kürzer: Klassen dienen zum Modellieren von Zusammenhängen zwischen Klassenobjekten und den sie betreffenden Methoden (Quelle: YT, thenativeweb, (irgendein...) Video von 2022/ 23).
Am Beispiel Krankenhaus: ein KH kann einen bis mehrere (oder viele) Räume haben ( Modell: 1 ...*) . Das Arbeitspersonal (Reinigung, Pflege, Chirugie, Verwaltung,...) kann von Null bis (sehr) viele reichen (Modell: 0 ... * ). Ein Mitarbeiter kann einem (oder mehreren) Räumen sowie "Kunden" zugewiesen werden (wie "reale" Verhältnisse und Berichte zeigen, empfehlen sich Überlastung oder Verknappung (aller Art) langfristig nicht. Für das Modell ist das aber unwichtig). Ein Objekt der Klasse "Chirugie" kann eine bestimmte Behandlungsmethode kennen, ein anderes Objekt dagegen nicht. usw...

Der Compiler (Interpreter, Transpiler,...) interessiert sich nur für die formelle Korrektheit des Codes, nicht ob damit reale Vorgänge codiert werden.
 

Oneixee5

Top Contributor
Eigentlich ist das nicht schwer. Man kann sich das so vorstellen wie man es liest. Man vereinfacht das dann etwas, indem man sich auf die wesentlichen Punkte konzentriert. Was nicht gefordert ist, wird nicht beachtet. Alles wird relativ abstrakt betrachtet. Details werden nur einbezogen, wenn sie gefordert sind.
Bleiben also die Objekte: Krankenhaus, Raum, Mitarbeiter. -> Interfaces, da es verschiedene Arten dieser Objekte geben kann.
Wenn etwas mehrfach vorhanden ist, dann hat man eine Kollektion/Sammlung dieses Objektes.

Also geht man das einfach durch: Ein Krankenhaus hat eine Sammlung von Räumen (Objektvariable). Diese Sammlung ist initial und fix. Ein Krankenhaus bekommt keine Methoden um Räume zu entfernen oder hinzuzufügen.

Ein Mitarbeiter hat einen Raum (Objektvariable). Ein Raum kann zugewiesen werden. Jetzt die Bedingung: ist der Raum nicht null, dann kann kein Raum mehr zugewiesen werden. Mehr ist nicht beschrieben.

Da die Beschreibung sehr kurz ist, ist auch nicht mehr zu tun. Man darf das Ganze einfach nicht überkomplizieren.

Ein detaillierter Guide: was stellst du dir darunter vor? Die Welt ist wie sie nun mal ist. Ein Schrank hat Fächer, ein Auto hat Räder, eine Tür lässt sich unter bestimmten Bedingungen öffnen, ...
 

Kerstininer

Mitglied
Eigentlich ist das nicht schwer. Man kann sich das so vorstellen wie man es liest. Man vereinfacht das dann etwas, indem man sich auf die wesentlichen Punkte konzentriert. Was nicht gefordert ist, wird nicht beachtet. Alles wird relativ abstrakt betrachtet. Details werden nur einbezogen, wenn sie gefordert sind.
Bleiben also die Objekte: Krankenhaus, Raum, Mitarbeiter. -> Interfaces, da es verschiedene Arten dieser Objekte geben kann.
Wenn etwas mehrfach vorhanden ist, dann hat man eine Kollektion/Sammlung dieses Objektes.

Also geht man das einfach durch: Ein Krankenhaus hat eine Sammlung von Räumen (Objektvariable). Diese Sammlung ist initial und fix. Ein Krankenhaus bekommt keine Methoden um Räume zu entfernen oder hinzuzufügen.

Ein Mitarbeiter hat einen Raum (Objektvariable). Ein Raum kann zugewiesen werden. Jetzt die Bedingung: ist der Raum nicht null, dann kann kein Raum mehr zugewiesen werden. Mehr ist nicht beschrieben.

Da die Beschreibung sehr kurz ist, ist auch nicht mehr zu tun. Man darf das Ganze einfach nicht überkomplizieren.

Ein detaillierter Guide: was stellst du dir darunter vor? Die Welt ist wie sie nun mal ist. Ein Schrank hat Fächer, ein Auto hat Räder, eine Tür lässt sich unter bestimmten Bedingungen öffnen, ...
Danke für die Antwort, zu meinem Problem wäre hinzuzufügen:
  • ich sehe die Zusammenhänge, aber ich verstehe nicht unter welchen getter/setter ich diese Zusammenhänge schreibe.
  • ich verstehe nicht wie ich sie schreibe.
Und ich finde online nichts dazu was mir weiterhilft.
Ein Bild als Beispiel womit ich Probleme habe, sobald ich die getter/setter erweitern muss bin ich verloren;
 

Anhänge

  • Krankenhaus.png
    Krankenhaus.png
    42,6 KB · Aufrufe: 0

Kerstininer

Mitglied
Etwas kürzer: Klassen dienen zum Modellieren von Zusammenhängen zwischen Klassenobjekten und den sie betreffenden Methoden (Quelle: YT, thenativeweb, (irgendein...) Video von 2022/ 23).
Am Beispiel Krankenhaus: ein KH kann einen bis mehrere (oder viele) Räume haben ( Modell: 1 ...*) . Das Arbeitspersonal (Reinigung, Pflege, Chirugie, Verwaltung,...) kann von Null bis (sehr) viele reichen (Modell: 0 ... * ). Ein Mitarbeiter kann einem (oder mehreren) Räumen sowie "Kunden" zugewiesen werden (wie "reale" Verhältnisse und Berichte zeigen, empfehlen sich Überlastung oder Verknappung (aller Art) langfristig nicht. Für das Modell ist das aber unwichtig). Ein Objekt der Klasse "Chirugie" kann eine bestimmte Behandlungsmethode kennen, ein anderes Objekt dagegen nicht. usw...

Der Compiler (Interpreter, Transpiler,...) interessiert sich nur für die formelle Korrektheit des Codes, nicht ob damit reale Vorgänge codiert werden.
Danke für die Antwort, zu meinem Problem wäre wie bei der anderen Antwort hinzuzufügen:
  • ich sehe die Zusammenhänge, aber ich verstehe nicht unter welchen getter/setter ich diese Zusammenhänge schreibe.
  • ich verstehe nicht wie ich sie schreibe.
Und ich finde online nichts dazu was mir weiterhilft.
Ein Bild als Beispiel womit ich Probleme habe, sobald ich die getter/setter erweitern muss bin ich verloren.
 

Anhänge

  • Krankenhaus.png
    Krankenhaus.png
    42,6 KB · Aufrufe: 0

Kerstininer

Mitglied

M.L.

Top Contributor
Die Grafik zeigt Grössen-veränderliche Datenstrukturen und Methoden, die man (z.B. für ein Krankenhaus und das Verhältnis Mitarbeiter <-> Kunden) "auf Verdacht" anlegen und nutzen könnte. Getter / Setter - Methoden sind "nur" passend benannte Methoden (Stichwort: Clean Code), die einen oder mehrere Befehle vereinigen. Die gezeigte Getter-Methode könnte man für den Compiler (nicht: für den Menschen) genauso
Java:
...public String abc()  {  System.out.println("Huhu..."); return name; }...
schreiben (hat aber Erklärungsbedarf was "abc" bedeutet und warum die Ausgabe in dem Befehl erscheint). Und auf das Schlüsselwort "void" reagiert der Compiler mit einer Nicht-Erwartung eines Return-Werts.
 
Zuletzt bearbeitet:

Zrebna

Bekanntes Mitglied
Lies das:

Das sollte in 20 Tagen locker machbar sein, und danach solltest du für eine Prüfung halbwegs fit sein.
Jo, chill.

Sorry, aber 700 Seiten kurz vor der Klausur über Design Pattern, die nicht mal eben so intuitiv nach einmal Lesen erfasst sind...halte ich nicht für den besten Tip, ehrlich gesagt.

@Kerstininer:
Wie auch andere bereits gesagt haben, versuche dir bei solchen Aufgabestellungen "einfach" vorzustellen, wie es in Wirklichkeit ist. Ich weiß nicht, ob ihr schon Klassendiagramme gezeigt bekommen habt, aber Skizzen von vereinfachten Klassendiagrammen (müssen nicht formal korrekt sein - dienen nur dir selber) helfen da sehr.

Letztlich ist es immer ähnlich.
Du hast bestimmte Entitäten, aus denen Klassen resultieren - so wie hier, z.B. die Klassen 'Krankenhaus', 'Mitarbeiter', 'Raum';

Je nach Aufgabenbeschreibung hast du dann bestimmte Aktivitäten, welche die Methoden darstellen werden. Überlege dir dann, zu welchen Entitäts-Klassen diese Methoden/Aktivitäten am besten passen.
Mache dir da am besten eine Skizze und überlege dir auch wie die Kardinalitäten zwischen den Klasssen, sind - siehe die Posts von Oneixee5 und M.L.

Ich schätze mal du bis zwischen dem 1. und 3. Semester und da in der Klausur Ruhe bewahren. Oft gehts dem Dozenten einfach nur darum zu überprüfen, ob Studenten versuchen/in der Lage sind objektorientiert zu denken. Da muss am Ende nicht in deinem Model alles 100% passen - das erwartet Niemand.
Daher auch bei längeren Aufgabenstellungen Ruhe bewahren und Punkte werden gegeben, wo man sie halt geben kann - also das formulieren von den Entitätsklassen ist schon mal gut. Paar Aktivitäten wirst du auch bestimmt als Methoden korrekt zuordnen können.

Wird sich schon ausgehn^^
 

White_Fox

Top Contributor
Sorry, aber 700 Seiten kurz vor der Klausur über Design Pattern, die nicht mal eben so intuitiv nach einmal Lesen erfasst sind...halte ich nicht für den besten Tip, ehrlich gesagt.
Von diesen 700 Seiten sind vielleicht nur 400-500 oder so wirklich Buch, und davon geht nochmal vieles für Codeschnipsel, Bilder, Klassendiagramme usw. drauf. Die Von-Kopf-Bis-Fuß-Bücher haben normalerweise noch einen sehr stattlichen Anhang der ca. ein Dritel einnimmt, wo allerhand Nebenkriegsschauplätze angeschnitten werden...so ein kleiner Ausblick von dem was noch interessant ist, es aber nicht mehr ins Buch geschafft hat. In speziell diesem Buch blasen sie zum Schluß das MVC ganz groß auf, aber ob Kerstininer das bis zum Ende durchverstehen muß...

Noch dazu läßt sich das Buch sehr leicht lesen, die Macher der VKBF-Reihe haben sich ziemlich viel damit befasst, wie das Gehirn im Allgemeinen lernt, und, wie ich finde, sehr gut umgesetzt. Es bleibt da tatsächlich viel hängen und macht sogar Spaß.

Ich jedenfalls habe das Buch nur in der S-Bahn auf dem Weg zwischen Uni und Zuhause gelesen und in ein bis zwei Wochen oder so durch. Ohne jegliche Quälerei, ganz im Gegenteil, ich muß aber auch sagen daß ich da mit Interesse und intrinsischem Antrieb rangegangen bin...und ohne Klausur im Nacken.

Also ja, ich denke in 20 Tagen kriegt man das gut durch, auch wenn man noch für andere Prüfungen lernen muß. Und selbst wenn 20 Tage knapp sind, didaktisch so gut aufbereitete Bücher sind selten. Wo und wie willst du sonst anfangen?

@Kerstininer Geh doch mal in eure Bibliothek, bestimmt liegt es da rum (wenn es nicht ausgeliehen ist), überflieg die Einleitung und vielleicht das erste Kapitel, und dann schätze das selber ein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
I Hilfe beim löschen von Buchstaben. Java Basics - Anfänger-Themen 1
I Hilfe beim löschen schon Buchstaben. Java Basics - Anfänger-Themen 4
J Hilfe beim "Verknüpfen" von zwei Klasse Java Basics - Anfänger-Themen 15
B Hilfe beim Kreisberechnungsprogramm Java Basics - Anfänger-Themen 6
D Hilfe beim übersetzen in der Klasse Throwable Java Basics - Anfänger-Themen 2
S Datentypen Hilfe beim Typecasting Java Basics - Anfänger-Themen 7
F Erste Schritte Hilfe beim Algorithmus finden Java Basics - Anfänger-Themen 8
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
H Hilfe beim Programmablaufplan Java Basics - Anfänger-Themen 2
C Hilfe beim Zeichnen Java Basics - Anfänger-Themen 8
P Hilfe beim einlesen eines Textes Java Basics - Anfänger-Themen 11
B Hilfe beim Verständnis zu Generics Java Basics - Anfänger-Themen 7
D Hilfe beim SDF Datum Ausgabe Java Basics - Anfänger-Themen 20
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
B Co2 rechner hilfe beim programmieren Java Basics - Anfänger-Themen 10
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
E Hilfe beim Einstieg Java Basics - Anfänger-Themen 46
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
P HILFE !!! erste aufgabe beim programmieren Java Basics - Anfänger-Themen 13
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
V Hilfe beim implementieren von Iterator Java Basics - Anfänger-Themen 5
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
Developer_X Hilfe beim umbauen von Strings Java Basics - Anfänger-Themen 4
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
G Fehler beim Ausführen HILFE! Java Basics - Anfänger-Themen 12
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
A Hilfe beim "übersetzen" Java Basics - Anfänger-Themen 7
O Linux - Fehler beim kompilieren - HILFE Java Basics - Anfänger-Themen 4
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
S Hilfe beim Einlesen Java Basics - Anfänger-Themen 6
K Hilfe beim starten eines Programms! Bitte helfen. Java Basics - Anfänger-Themen 8
D Hilfe beim Übergeben vom JTextfield Java Basics - Anfänger-Themen 2
E hilfe beim code Java Basics - Anfänger-Themen 3
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
G Hilfe zur einer Aufgabe: Datumsüberprüfung beim Gregorianis Java Basics - Anfänger-Themen 2
K Brauche Hilfe beim Programmieren eines Funktionsplotters Java Basics - Anfänger-Themen 3
B Hilfe beim Schüler-Project Java Basics - Anfänger-Themen 4
G Hilfe beim addieren(Anfänger) Java Basics - Anfänger-Themen 12
F Hilfe beim Zeichnen in JPanel Java Basics - Anfänger-Themen 2
L Kompletter Neuling: Hilfe beim ersten Java Versuchen Java Basics - Anfänger-Themen 12
F Hilfe beim erstellen von Jar files! Java Basics - Anfänger-Themen 2
A Hilfe beim Java-Einstieg Java Basics - Anfänger-Themen 3
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben