Assoziationsbeziehung

Status
Nicht offen für weitere Antworten.
A

Akim

Gast
Hallo,

vorab : ich bin ein Neuling in Java und erstelle gerade Java-Projekt in einer Gruppenarbeit. Aktuell habe ich eine Frage, die ihr mir bestimmt beantworten könnt :

Wir haben unser Klassensystem modelliert und jetzt sollen die Attribute in Methoden in Java codiert werden. Eine Klasse soll dabei ein Objekt der anderen Klasse, mit der sie nicht direkt verbunden ist, als Attribut benutzen. Sobald ich aber das Attribut vom Typ der Klasse codiere erzeugt mein Programm (natürlich) eine Beziehung zwischen diesen Klassen, die ich nicht modelliert habe. Stattdessen soll der Zugriff über andere Klassen erfolgen. Ist das überhaupt möglich? Wenn ja, wie codiere ich das ???

Vielen Dank für Eure Tipps,

Achim
 

Campino

Top Contributor
meinst du sowas:

Code:
class A{
public void methode(){
    System.out.println("hallo Java");
}
}

public class B{
    A a=new A();

    public static void main(String args[]){
        new B();
    }

    public B(){
        new C(this);
    }

class C{
    public C(B b){
        b.a.methode(); //ruft eine Methode von Klasse A auf ohne sie zu instazieriern
    }
}
}
 
G

Guest

Gast
das trifft's schon ziemlich genau : konkret soll eine Klasse Univerwaltung eine Methode addPrüfung in der Klasse Prüfungsverwaltung mit dem Übergabeparameter Buchungsverwaltung aufrufen. Buchungsverwaltung ist Attribut in Klasse Univerwaltung.
Buchungsverwaltung existiert aber auch als eigene Klasse. Verbunden sind die Klassen wie folgt :

Buchungsverwaltung mit Univerwaltung, Univerwaltung mit Prüfungsverwaltung

Ich soll die Methode addPrüfung codieren und frage mich wie ich den erwarteten Parameter Buchungsverwaltung spezifiziere. Bisherige Lösung
Code:
public void addPrüfung(Buchungsverwaltung in_buchungsverwaltung)
...darüber instanziere ich aber doch die Klasse Buchungsverwaltung direkt, oder ?

Vielen Dank für Eure Geduld mit einem Anfänger :D

Viele Grüße,
Achim
 

SnooP

Top Contributor
Versteh nicht so recht das Problem... die Methodensignatur die du angegeben hast, erzeugt mit Sicherheit keine Assoziation zu der Klasse Buchungsverwaltung, falls du das wissen wolltest.

Und instanzieren tust du Buchungsverwaltung darüber auch nicht - vielmehr muss von außen irgendwo ein Objekt der Klasse Buchungsverwaltung erzeugt werden und dann der Methode addPrüfung mitgegeben werden.

Allerdings frage ich mich was der Sinn der Klasse Buchungsverwaltung und Prüfungsverwaltung sein soll... Univerwaltung als Verwaltungs-Objekt seh ich ja noch ein... aber die ganzen weiteren Verwaltungen... ich würde erwarten, dass ich bei der Methode addPrüfung ein Objekt vom Typ Prüfung übergebe... wenn das Programm Prüfungen verwalten soll, wäre es doch Toll, wenn die Datenstruktur dieses auch in einer Klasse kapseln würde ;)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben