Kapselung Von Klasse auf Objekt zugreifen

KKChris

Mitglied
Hallo liebes Forum,

kurz zu mir: Ich habe meine ersten Programmiererfahrungen in C/C++ gemacht und bisher schon einige Erfahrungen mit Klassen gemacht.
Das Studium zwingt mich nun auf einen Umstieg zu Java (was ich auf keinen Fall schlecht finde).
Nun war der theoretische Teil der Erklärung leider mangelhaft und ich stehe vor der ersten Übung.

Und nein natürlich will ich nicht, dass mir jemand die Übung macht, ich bräuchte nur ein paar Hinweise, da ich ja auch etwas lernen will :)

Folgendes Beispiel:

Ich habe eine Klasse namens "SingleRoomCtrl" sowie eine Klasse namens "SingleRoom".

In meiner Klasse SingleRoom habe ich 2 Variablen:

Java:
private int roomNumber;
private boolean occupied;


SingleRoomCtrl: Verwaltet die Einzelzimmer und hat Referenzen zu allen Einzelzimmern.
Nun schreibe ich in meiner "SingleRoomCtrl" ein paar Methoden um darauf zuzugreifen:

Java:
public void addRoom(SingleRoom room)           //Single Room hinzufügen
public void removeRoom(SingleRoom room)      //Single Room löschen

So nun kommen wir zu Problem 1:
Ich übergebe ja hier eine Instanz der Klasse "SingleRoom" welche ich vorher im Main anlegen müsste oder? Warum sollte ich einen Room adden, wenn ich ihn zuvor sowieso anlegen muss?

Problem 2:
Java:
public int getRoomCount()                           //returniert Anzahl Single Rooms

Wie kann ich abfragen, wieviele Instanzen einer Klasse existieren?





So das wars vorerst, sollte ich das total umständlich erklärt haben, lasst es mich wissen, dann lade ich das .pdf hoch.

Vielen Dank schonmal für eure Hilfe :)

Lg Chris
 
J

JohannisderKaeufer

Gast
Hab mir mal die Aufgabe angeschaut.

Du mußt in der main-Methode kein Objekt SingleRoom oder DoubleRoom erstellen um es dann irgendwo hinzuzufügen.

In der main-Methode hast du lediglich ein ReservationCtrl zu erstellen und darauf die Methoden die das bietet aufzurufen.
Java:
public static void main(String[] args){
  ReservationCtrl reservationCtrl = new ReservationCtrl();
  reservation.addSingleRoom(101);
  reservation.addSingleRoom(102);
  reservation.addSingleRoom(203);
}

In der Methode
Code:
addSingleRoom()
hast du dann einen neuen SingleRoom zu erstellen und dann zu deinem SingleRoomCtrl hinzuzufügen. Nicht vergessen SingleRoomCtrl soll eine Variable der Klasse ReservationCtrl sein.
 

KKChris

Mitglied
Oha, jetzt hab ich verstanden wie das gehen sollte :)
Vielen Dank :)

Kannst du noch kurz auf mein Problem 2 eingehen?

Werd heute mit dem implementieren beginnen und im Notfall nochmal posten, sollte etwas unklar sein.
 
J

JohannisderKaeufer

Gast
Du hast ja mehrere getRoomCount() in deinem Programm

Das in ReservationCtrl.getRoomCount(), das retourniert (das Wort gefällt mir) die Anzahl aller Zimmer.

Das in Single/Double-RoomCtrl.getRoomCount(), das retourniert die Anzahl der Single/Double Zimmer.


in ReservationCtrl kann das dann so aussehen
Java:
public int getRoomCount(){
  return singleRoomCtrl.getRoomCount() + doubleRoomCtrl.getRoomCount();
}

Zu beachten ist, das du in ReservationCtrl Variablen für Single/DoubleRoomCtrl hast auf welche du hier zugreifst.


Und das getRoomCount() für die anderen Klassen bekommst du in dem du dort die Zimmer abspeicherst wenn du sie hinzufügst und dann nachzählst.
Arrays wären hier eine Möglichkeit, dynamische Datenstrukturen wie eine java.util.List eine andere.
Auch eine Map kann hier interessant sein. Dann können Zimmer anhand ihrer Nummer abgelegt werden.
 

KKChris

Mitglied
Ok vielen Dank!
Eine kleine Frage noch.

Java:
private DoubleRoomCtrl DRC;
private SingleRoomCtrl SRC;
	
public void addSingleRoom(int roomNr)
{
	SingleRoom room = new SingleRoom();
	SRC.addRoom(room);
}

Also SingleRoom room = new SingleRoom(); darf ich benutzen, weil es ja eine Variable von SingleRoomCtrl ist oder?

Aber wie gebe ich nun die roomNr mit?

(Sollte ich da schon einen Denkfehler haben, bitte melden.)

Danke schonmal :)

EDIT: Konstruktor nötig oder?
 
Zuletzt bearbeitet:
H

hüteüberhüte

Gast
Also roomNr müsstest du dem Konstruktor-Aufruf von SingleRoom mitgeben, nachträglich per Setter dem room-Objekt hinzufügen oder auch nachträglich SRC mitgeben (entweder beim Aufruf von addRoom oder danach). Eine andere als diese 3 Möglichkeiten gibt es in dem Fall nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
M Auf erstelltes Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 5
E Methoden Auf Methoden einer Klasse zugreifen, ohne ein Objekt zu erstellen Java Basics - Anfänger-Themen 2
S Klassen Auf Objekt in Klasse A in Klasse B zugreifen Java Basics - Anfänger-Themen 4
G Auf Objekt der selben Klasse zugreifen Java Basics - Anfänger-Themen 2
G OOP Aus Objekt auf Funktion der erzeuger Klasse zugreifen? Java Basics - Anfänger-Themen 11
S OOP Auf ein Objekt von einer anderern Klasse zugreifen Java Basics - Anfänger-Themen 3
A [gelöst]Aus der Klasse heraus auf ein anderes Objekt zugreifen Java Basics - Anfänger-Themen 4
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
B Objekt von EJB in Controller (CDI) - Klasse füllen? Java Basics - Anfänger-Themen 3
B Mit methode Objekt aus anderer Klasse erstellen Java Basics - Anfänger-Themen 6
M Objekt einer Klasse speichert die Veränderung nicht Java Basics - Anfänger-Themen 1
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
G Objekt der selben Klasse wie selbst mit Aufrufen des Konstruktors erzeugen Java Basics - Anfänger-Themen 14
Henri Aufruf von getX() und getY() aus der Super klasse Objekt() Java Basics - Anfänger-Themen 3
S Objekt einer Klasse OnClick Java Basics - Anfänger-Themen 5
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
C Klassen Objekt der Instant-Klasse Java Basics - Anfänger-Themen 6
N Objekt in Methode einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
K Objekt einer Klasse weitergeben Java Basics - Anfänger-Themen 1
F Zugriff auf Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
G Objekt wie Objekt anderer Klasse behandeln Java Basics - Anfänger-Themen 4
E Attribute von einem Objekt einer anderen Klasse ändern Java Basics - Anfänger-Themen 4
R Compiler-Fehler Klasse A nutzt Objekt von Klasse B, um Methode von Klasse B auszuführen Java Basics - Anfänger-Themen 11
C Klassen Zugriff auf Objekt anderer Klasse Java Basics - Anfänger-Themen 8
V Aufrufendes Objekt bestimmen (nicht die Klasse) Java Basics - Anfänger-Themen 3
D OOP Zugriff auf Objekte A in Klasse A aus Objekt B in Klasse B Java Basics - Anfänger-Themen 3
X Objekt in einer Klasse aufrufen Java Basics - Anfänger-Themen 13
P Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen? Java Basics - Anfänger-Themen 6
S Polymorphes Objekt in eigentliche Klasse casten Java Basics - Anfänger-Themen 6
D OOP Zugriff auf eine Klasse aus einem Interface-Objekt Java Basics - Anfänger-Themen 7
K Klassen Objekt mit einem Namen von einer bestimmten Klasse instanziieren Java Basics - Anfänger-Themen 10
L Objekt.methode(new Klasse().methode()); Java Basics - Anfänger-Themen 7
B Klassen über Main Klasse in einer anderen Klasse ein Objekt erstellen Java Basics - Anfänger-Themen 5
N Klassen Klasse - Objekt - Methode Java Basics - Anfänger-Themen 6
A objekt innerhalb der gleiche klasse Java Basics - Anfänger-Themen 10
P Klassen Objekt der Klasse String Java Basics - Anfänger-Themen 9
S Vererbung/Herausfinden welches Objekt von welcher Klasse Java Basics - Anfänger-Themen 4
N OOP Zugriff auf eine Objekt innerhalb einer Klasse aus statischen Methoden Java Basics - Anfänger-Themen 9
C Objekt X über Methode aus anderer Klasse verändert Java Basics - Anfänger-Themen 3
L auslesen einer Variablen eines Objekt welches "Eigentum" eines Objektes der selben Klasse ist. Java Basics - Anfänger-Themen 12
I Einzelnes Objekt einer Klasse bekommen Java Basics - Anfänger-Themen 9
F Klasse bzw Objekt in eigenen Thread auslagern Java Basics - Anfänger-Themen 3
C Objekt von Klasse im gleichen Paket erzeugen Java Basics - Anfänger-Themen 8
Z objekt erstellen von canonical name einer klasse Java Basics - Anfänger-Themen 6
J Unterschied Klasse Objekt Java Basics - Anfänger-Themen 4
V objekt einer Klasse erstellen Java Basics - Anfänger-Themen 21
G objekt der selben klasse erzeugen Java Basics - Anfänger-Themen 4
G Objekt der Klasse vs. Objekt des Typs Java Basics - Anfänger-Themen 4
G Methodenaufruf über ein Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
P Prüfen, ob Objekt von einer Klasse ist Java Basics - Anfänger-Themen 3
T Zugriff auf umgebendes Objekt mittels Objekt innerer Klasse Java Basics - Anfänger-Themen 2
T klasse objekt, syntax Java Basics - Anfänger-Themen 2
G neues Objekt der Klasse eines anderen Objekts Java Basics - Anfänger-Themen 3
G Objekt öffnen von einer anderen Klasse öffnen Java Basics - Anfänger-Themen 6
° Zugriff auf ein Objekt der eigenen Klasse Java Basics - Anfänger-Themen 2
D Objekt der Methode einer anderen Klasse zuordnen Java Basics - Anfänger-Themen 6
G Problem bei der Angabe von Attributen in einer Objekt-Klasse Java Basics - Anfänger-Themen 3
J Attribut vom Objekt einer eigenen Klasse setzen Java Basics - Anfänger-Themen 6
J Objekt aus anderer Klasse und Package erzeugen Java Basics - Anfänger-Themen 11
E Klasse- Objekt - Klassenobjekt :? Java Basics - Anfänger-Themen 9
L Klasse(Objekt) <=> Klasse <=> Klasse Java Basics - Anfänger-Themen 5
A Objekt der ganzen Klasse zugängig machen Java Basics - Anfänger-Themen 7
S Variabler Name für ein Objekt einer Klasse? Java Basics - Anfänger-Themen 10
M Methode bekommt ein Objekt der Klasse als Parameter. Wozu? Java Basics - Anfänger-Themen 4
M objekt (linkedList) zugriff aus einer anderen klasse Java Basics - Anfänger-Themen 3
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
frager2345 Optional Klasse Java Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Klassen Typ und Intitialisierungs-Klasse, wer bestimmt was? Java Basics - Anfänger-Themen 1
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
frager2345 Java Klasse Buch verwalten Java Basics - Anfänger-Themen 0
frager2345 Java eigen Klasse zum verwalten von Büchern Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
G zwei Instanzen einer Klasse Java Basics - Anfänger-Themen 29

Ähnliche Java Themen

Neue Themen


Oben