Zugriff auf Attribute einer Klasse, zu der keine Verbindung besteht

polarpro

Mitglied
Hallo,

beigefügtes UML-Diagramm zeigt eine simple Vereinsverwaltung. (Zwischen Abteilung und Mitglied gibt es noch die assoziative Klasse Mitgliedschaft, diese ist hier jedoch irrelevant.)

Wichtig ist, dass es in dieser Vereinsverwaltung nur einen einzigen Verein gibt; es wird also nur ein einziges Verein-Objekt erzeugt. Sobad ein Mitglied-Objekt in diesem Projekt erstellt wird, ist es quasi implizit diesem einzigen Verein zugehörig.

Weiterhin gibt es aktive und passive Mitglieder. Aktive Mitglieder sind in einer oder mehreren Vereinsabteilungen aktiv. Passive Mitglieder sind in keiner Abteilung. Sie zahlen nur den Vereins-Grundbeitrag.

Meine Frage: Wie kann ich bei einem passiven Mitglied (bei dem also keine Assoziation zwischen Abteilung und Mitglied bestehen, eine Methode
Code:
berechneBeitrag()
erstellen, die auf den Grundbeitrag im einzigen Verein-Objekt zugreift? Ich möchte dabei vermeiden, dass ich im Mitglied-Objekt eine Referenz habe, in dem das Verein-Objekte gespeichert ist; zwischen Verein und Mitglied gibt es keine direkte Assoziation.

Irgendwie steh ich bissl auf dem Schlauch...
 

polarpro

Mitglied
Wenn es nur einen Verein gibt bietet sich hier das Singelton-Pattern an
kannst ja mal danach suchen
Um Singleton geht es hier nicht; s. "meine Frage".

Wenn ein Mitglied nicht zwingend in einer Abteilung sein muss, ist dein Diagramm nicht richtig. Dass sollte man eher mit einer Assoziationsklasse lösen.
Wie ich geschrieben habe, gibt es zwischen Abteilung und Mitglied eine Assoziationsklasse Mitgliedschaft, die ist hier aber nicht relevant, deshalb habe ich sie im OOA-Modell nicht eingezeichnet. Es sei denn, Du meinst eine andere Assoziationsklasse?
 
Zuletzt bearbeitet:

AmunRa

Gesperrter Benutzer
Wie kann ich bei einem passiven Mitglied (bei dem also keine Assoziation zwischen Abteilung und Mitglied bestehen, eine Methode berechneBeitrag() erstellen, die auf den Grundbeitrag im einzigen Verein-Objekt zugreift?

Singelton war blos eine Mögliche Lösung auf diese Frage, da du dann von deinem Mitglied auf das VereinsObject zugreifen kannst, ohne das Object in deinem Mitgied zu speichern


Sonst versteh ich dein Problem nicht
 

polarpro

Mitglied
Ok, ein Singletonmuster kann ich einbauen, und wenn ich das richtig sehe, hätte ich dann eine Zeile mit einem Attribut
Code:
private static Verein einVerein
.

Könnte ich aber nicht auch noch einfacher das Attribut grundbeitrag als static kennzeichnen? Somit hätte ich dann den Grundbeitrag als Klassenattribut, sprich nur einen Wert für alle Verein-Objekte. Ich habe es gerade ausprobiert, es scheint zu gebhen... die Zeile
Java:
double beitrag =  Verein.getGrundbeitrag();
in der Klasse Mitglied bringt zumindest keine Fehlermeldung...
 

HimBromBeere

Top Contributor
Ich würde (da ich die Klassen nicht kenne) sagen, die Klasse Mitgliedschaft ist abstrakt mit der Metjode berechneBeitrag (dann sollte die Klasse aber eher Mitgleid heißen) und von ihr werden die beiden Realisierungen AktivesMitglied und PassivesMitglied abgeleitet, die die Methode implementieren...
 
B

bygones

Gast
Ok, ein Singletonmuster kann ich einbauen, und wenn ich das richtig sehe, hätte ich dann eine Zeile mit einem Attribut
Code:
private static Verein einVerein
und gleich wieder streichen.... Singleton hin oder her, hier ist es falsches Design (so wie in 99% der anderen Singleton Use cases... aber damit wird ein komplett anderes Fass geoeffnet)

dann lieber HimBromBeeres Vorschlag
 

polarpro

Mitglied
Hm. Eigentlich bin ich mit dem Singleton gar nicht so unzufrieden hier. Schließlich soll es nur einen einzigen Verein geben; das würde also passen.

HimBromBeeres Vorschlag gefällt mir gut; widerspricht aber eigentlich nicht Singleton...
 

bERt0r

Top Contributor
Wie ich geschrieben habe, gibt es zwischen Abteilung und Mitglied eine Assoziationsklasse Mitgliedschaft, die ist hier aber nicht relevant, deshalb habe ich sie im OOA-Modell nicht eingezeichnet. Es sei denn, Du meinst eine andere Assoziationsklasse?

Oh doch genau um die Klasse Mitgliedschaft gehts hier, in der muss nämlich stehen, welches Mitglied in welchem Verein ist. Demnach auch eine Referenz auf den Verein.
Edit: Und ich sags nochmal klar: dein Diagramm ist falsch. Laut deinem Diagramm besteht zwischen Mitglied und Verein überhauptkeine Verbindung, sprich es gibt auch keine Mitglieder ohne Abteilung.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Klassen Zugriff auf Attribute einer zweiten Klasse, welche durch dritte gesettet wurden? Java Basics - Anfänger-Themen 2
Q Zugriff auf Attribute einer Unterklasse Java Basics - Anfänger-Themen 7
Z Zugriff auf Attribute nach Zuweisung einer Referenz Java Basics - Anfänger-Themen 8
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
Q Zugriff auf Attribute Java Basics - Anfänger-Themen 3
J Threads Zugriff auf Attribute Java Basics - Anfänger-Themen 16
M Zugriff auf Attribute über Methoden Java Basics - Anfänger-Themen 6
A statische Attribute: Vererbung und Zugriff darauf Java Basics - Anfänger-Themen 15
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
H Zugriff verweigert Java Basics - Anfänger-Themen 5
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
B Zugriffsmodifier, Zugriff außerhalb Package Java Basics - Anfänger-Themen 5
C Zugriff auf Attribut von Oberklasse Java Basics - Anfänger-Themen 8
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
L Methoden Zugriff <identifier> expected Java Basics - Anfänger-Themen 13
T Java - Zugriff nur mit CLASSPATH ? Java Basics - Anfänger-Themen 7
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
D Zugriff auf Methode einer anderen Klasse Java Basics - Anfänger-Themen 5
S Zugriff auf Objekt Java Basics - Anfänger-Themen 5
A Klassen Zugriff auf Instanzen Java Basics - Anfänger-Themen 2
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
J Klassen Zugriff auf ein "String Array" Java Basics - Anfänger-Themen 6
H Datentypen ArrayList in ArrayList: Zugriff Java Basics - Anfänger-Themen 6
J get methoden zugriff und objekt erzeugung Java Basics - Anfänger-Themen 30
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
T Zugriff auf JCheckBox Java Basics - Anfänger-Themen 8
E Netzlaufwerk Zugriff schlägt fehl Java Basics - Anfänger-Themen 11
C Group, Actor und Instanz-Zugriff, LibGDX Java Basics - Anfänger-Themen 4
S Zugriff auf Attribut einer unbekannten Klasse erhalten Java Basics - Anfänger-Themen 6
R Methoden Methode der GUI-Klasse Zugriff auf Methoden der Hauptklasse Java Basics - Anfänger-Themen 9
S Vererbung Zugriff auf die Basisklasse einer "zweiten" Erweiterungsklasse Java Basics - Anfänger-Themen 2
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
J Sichtbarkeit und Zugriff Java Basics - Anfänger-Themen 9
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
L Zugriff auf zwei Java-Quellcodes Java Basics - Anfänger-Themen 3
A OOP Zugriff auf Objekte von außen Java Basics - Anfänger-Themen 8
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
G Methoden Zugriff auf Methode.. aus einer anderen Klasse Java Basics - Anfänger-Themen 6
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
F Zugriff auf Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
J Erste Schritte Zugriff auf Eigenschaft Java Basics - Anfänger-Themen 2
M MVC - Problem mit Zugriff auf Objekt Java Basics - Anfänger-Themen 4
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
C 5 - Zugriff verweigert Java Basics - Anfänger-Themen 1
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
Z Methoden Zugriff mit Klasse 3 auf Methode von Klasse 2 welche in Klasse 1 erzeugt wird Java Basics - Anfänger-Themen 6
Z Zugriff auf andere Methoden Java Basics - Anfänger-Themen 12
Z Zugriff auf Pakete Java Basics - Anfänger-Themen 5
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
W OOP Zugriff auf mit Objekt erstellte Struktur Java Basics - Anfänger-Themen 7
F Klassen Zugriff auf Fenster aus versch. Klassen Java Basics - Anfänger-Themen 5
M Variablen Zugriff von außerhalb eines Blockes auf eine Variable innerhalb eines Blockes Java Basics - Anfänger-Themen 2
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
B Klassen Zugriff auf Daten der Child-Klasse Java Basics - Anfänger-Themen 9
W Typisierte ArrayList und der Zugriff auf den Typ Java Basics - Anfänger-Themen 5
M Zugriff auf Klasse Java Basics - Anfänger-Themen 2
K Zugriff auf C: Java Basics - Anfänger-Themen 5
S Das richtige Format für den SOAP Zugriff Java Basics - Anfänger-Themen 0
N Zugriff bei Package Struktur Java Basics - Anfänger-Themen 6
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
V Zugriff auf jProgressbar Java Basics - Anfänger-Themen 10
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
G Spalte in JTable unsichtbar machen, Zugriff auf Daten ermöglichen Java Basics - Anfänger-Themen 2
T ZUgriff auf 'Werte' Java Basics - Anfänger-Themen 3
J Vererbung Zugriff auf private Variable Java Basics - Anfänger-Themen 10
C Klassen Zugriff auf Objekt anderer Klasse Java Basics - Anfänger-Themen 8
B Methoden Zugriff auf Variable ermöglichen Java Basics - Anfänger-Themen 3
M Zugriff auf Arraylist Java Basics - Anfänger-Themen 7
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
B Erste Schritte Array-Zugriff Java Basics - Anfänger-Themen 10
D OOP Zugriff auf Objekte A in Klasse A aus Objekt B in Klasse B Java Basics - Anfänger-Themen 3
T Collections Zugriff auf Elemente aus Iterator() Schleife Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben