Startseite http://mw-dd.de
FSR MW    Fakultät MW    TU    HISQIS    LSKonline    TU-Mail    SELMA    Speiseplan    Passwörter    OPAL    Perinorm    Fernstudium    CAD-Pools    SLUB    SZD    Studentenwerk    StuRa    ZIH    USZ    Campus Navigator
Zeige Ergebnis 1 bis 11 von 11

Thema: GL der Inf II - Übung WW01/WW02

  1. #1

    Registriert seit
    14.04.2009
    Beiträge
    19
    Danke Gedankt 
    0
    Danke Danke erhalten 
    13
    Bedankt in
    8 Beiträgen

    Standard GL der Inf II - Übung WW01/WW02

    Hallo, hier wie versprochen die Dokumente:

    collections_map.zip-> Beispiele für das Erstellen,Befüllen und durchiterieren von Lists,Sets und Maps.(in eclipse: file->import->general->archive file)

    entwurf_av.png-> das Klassendiagram der 4.Übung. Dieses mal sind alle Methodenspezifikationen sichtbar. Habe mir aber keine Mühe gemacht, die Assoziationen ordentlich zu machen

    übersicht_collection_map.jpg-> wie der name schon sagt, eine einfach Übersicht


    Wenn es sonstige Fragen zur Übung gibt,können die hier auch rein.(Oder Wünsche was nochmal wiederholt/besprochen werden soll)
    Angehängte Grafiken Angehängte Grafiken
    Angehängte Dateien Angehängte Dateien

  2. Der folgende Benutzer bedankt sich bei Daniel L für diesen nützlichen Beitrag:

    vorni (03.06.2010)

  3. #2
    Benutzerbild von tobi0123
    Registriert seit
    10.10.2009
    Beiträge
    146
    Danke Gedankt 
    14
    Danke Danke erhalten 
    30
    Bedankt in
    26 Beiträgen

    Standard

    @ Daniel
    Hey,
    ich hab mal die Hausverwaltung aus der letzten Übung in Eclipse erstellt.
    Hoffe, dass da nu alles drin ist.
    Würd' mich freuen, wenn noch mal eine Rückmeldung kommt.
    Angehängte Dateien Angehängte Dateien

  4. #3

    Registriert seit
    14.04.2009
    Beiträge
    19
    Danke Gedankt 
    0
    Danke Danke erhalten 
    13
    Bedankt in
    8 Beiträgen

    Standard

    Hallo Tobi,

    ich habe die Lösung jetzt mal angeschaut und damit würdest du in der Klausur schon einige Punkte bekommen.

    Jetzt aber zu den Dingen die mir noch aufgefallen sind:

    Klasse Mieter:
    Es wäre eventuell besser,dass man dem Mieter noch eine Wohnung zuweist. Die Assoziation sagt dies ja auch aus.

    In Mehrfamilienhaus:
    Ich denke nur ein Schreibfehler,aber dein Attribut heißt whngn anstatt whngen.

    Hausverwaltung:
    So wie du die Miete von allen Mietverträgen ist es natürlich auch möglich. In dem Fall müsste nur die Sinnfrage der Methode mietberechnung() in den anderen Klassen gestellt werden,wenn du diese nicht aufrufst Versuche also mal über die Häuser die Miete zu berechnen und nicht über die Mietverträge.

    Mietvertrag:
    Sollen in der Map "miet" wirklich als Values String-Werte gespeichert werden?
    Die getMiete() und getNummer() sind in dem Fall zuviel. Jedenfalls steht in der Aufgabenstellung,dass nur in der Klasse Wohnung Getter/Setter implementiert werden müssen. (Falls das Programm laufen soll,müssen diese natürlich vorhanden sein,aber eben nicht in DIESER Klausur)

    Ich hoffe ich habe soweit nichts übersehen.
    Aber es sieht schon recht gut aus


    P.S.: Hier nocheinmal die Beschreibung von der "Dreiecksbeziehung" zwischen Hausverwaltung,Mietvertrag und Mieter.
    http://de.wikipedia.org/wiki/Assoziationsklasse
    Geändert von Daniel L (27.07.2010 um 19:53 Uhr) Grund: anhang des Links für Assoziationsklassen

  5. #4
    Benutzerbild von tobi0123
    Registriert seit
    10.10.2009
    Beiträge
    146
    Danke Gedankt 
    14
    Danke Danke erhalten 
    30
    Bedankt in
    26 Beiträgen

    Standard

    Hey Daniel,
    danke für die schnelle Antwort. Hab noch mal über deine Anmerkungen nachgedacht.

    1. Der Klasse Mieter ein Attribut Wohnung zuweisen, macht natürlich Sinn. Hab mich nur gewundert, warum in der Klasse Wohnung der Attribut Mieter vorhanden ist. Ich meine, bei allen anderen Assoziationen und Aggregationen sind die Attribute gleich an den Verbindungslinien vermerkt.

    2. **fehlerteufel**

    3. Methode mietberechnung() in Klasse Hausverwaltung hab ich nun anders implementiert.
    Zur Methode mietberechnung() für Mehrfamilienhaus und Hausverwaltung noch eine Frage: Ich muss immer den Umweg über die ketSet() gehen, also mir aus den Keys der Map ein Set mit allen Keys erstellen lassen, und das Set dann mit einer for-Schleife einzeln durchgehe??
    Folgendes ist nämlich nicht möglich (Eclipse streikt da bei whngen):

    public Integer mietberechnung(){
    Integer sum = 0;
    for (Wohnung w: whngen){
    sum = sum + w.getMiete();
    }
    }

    4. Nein, Mieter als Values wären wohl besser. Also private Map <String,Mieter> miet.
    Und die Sache mit der Klasse Mietvertrag als Assoziationsklasse würd' ich so lösen, dass die Klasse Hausverwaltung das Attribut private Map <Integer,Mietvertrag> mietvertraege bekommt, und die Klasse Mietvertrag das schon genannte private Map <String,Mieter> miet.
    Damit kennt die Hausverwaltung all ihre Mietverträge, jeder Mietvertrag kennt seine Mieter, und die Hausverwaltung kennt damit (über die Mietverträge) die Mieter. Ich würde der Klasse Mieter auch noch ein Attribut Mietvertrag zuweisen und der Klasse Mietvertrag ein Attribut Hausverwaltung, denn ich versteh das im Beispiel bei Wiki http://de.wikipedia.org/wiki/Assoziationsklasse so, dass das alles ungerichtete Assoziationen sind. Ich bin mir aber nicht sicher, ob das programmiertechnisch sinnvoll ist!?

    Also, ich denke/hoffe, ich habe bis auf die Einbeziehug diese Assoziationsklasse soweit alles einigermaßen verstanden
    Angehängte Dateien Angehängte Dateien

  6. Der folgende Benutzer bedankt sich bei tobi0123 für diesen nützlichen Beitrag:

    marcus666 (08.08.2010)

  7. #5

    Registriert seit
    14.04.2009
    Beiträge
    19
    Danke Gedankt 
    0
    Danke Danke erhalten 
    13
    Bedankt in
    8 Beiträgen

    Standard

    Zitat Zitat von tobi0123 Beitrag anzeigen

    1. Der Klasse Mieter ein Attribut Wohnung zuweisen, macht natürlich Sinn. Hab mich nur gewundert, warum in der Klasse Wohnung der Attribut Mieter vorhanden ist. Ich meine, bei allen anderen Assoziationen und Aggregationen sind die Attribute gleich an den Verbindungslinien vermerkt.
    So ganz genau kann ich dir das auch nicht sagen. Denke aber,dass an der Beziehung 0..1 bei Mieter liegt. Und dann musst du dir auch nicht den Kopf zerbrechen,ob du den Mieter mit in die Klasse reinnimmst.


    Frage: Ich muss immer den Umweg über die ketSet() gehen, also mir aus den Keys der Map ein Set mit allen Keys erstellen lassen, und das Set dann mit einer for-Schleife einzeln durchgehe??
    Es geht auch anders. Du kannst ja mal in der Java Api zur Map reinschauen. Vielleicht findest du ja eine Möglichkeit dir anstatt die Keys die Values zurückgeben zu lassen...
    http://java.sun.com/javase/6/docs/ap.../util/Map.html

    Folgendes ist nämlich nicht möglich (Eclipse streikt da bei whngen):
    public Integer mietberechnung(){
    Integer sum = 0;
    for (Wohnung w: whngen){
    sum = sum + w.getMiete();
    }
    }
    Ja,das kann ja auch nicht wirklich klappen, da eine Map eine andere Struktur als Listen und Sets (Collections) besitzt. Mit w.getMiete() würdest du ja auf 2 Elemente zugreifen wollen. Zum einen auf den Key zum anderen auf den Value. Und woher soll der Compiler wissen,welcher von beiden jetzt diese Methode hat?


    Also, ich denke/hoffe, ich habe bis auf die Einbeziehug diese Assoziationsklasse soweit alles einigermaßen verstanden
    Ich glaube das hattest du doch schon richtig gemacht. Den Link hatte ich eigentlich auch nur als Erinnerungsstütze für diejenigen eingefügt, die hier mitlesen und noch nicht wussten was das ist


    P.S.: Genau so wie du es jetzt hast soll die mietberechnung() in der Hausverwaltung funktionieren.
    Geändert von Daniel L (28.07.2010 um 13:43 Uhr) Grund: P.S. angefügt

  8. Der folgende Benutzer bedankt sich bei Daniel L für diesen nützlichen Beitrag:

    tobi0123 (28.07.2010)

  9. #6
    Benutzerbild von tobi0123
    Registriert seit
    10.10.2009
    Beiträge
    146
    Danke Gedankt 
    14
    Danke Danke erhalten 
    30
    Bedankt in
    26 Beiträgen

    Standard

    Habe doch tatsächlich noch eine Möglichkeit gefunden, in der for-Schleife direkt durch die Values zu gehen , z.B. für mietberechnung() in Hausverwaltung:

    public Integer mietberechnung(){
    Integer sum = 0;
    for (Haus h: haeuser.values()){
    sum = sum + h.mietberechnung();
    }
    return sum;
    }

    Nur so der Vollständigkeit halber...

  10. #7
    Fenster- und Wurzel-Manager Benutzerbild von tiefenbass
    Registriert seit
    26.09.2007
    Beiträge
    1.865
    Danke Gedankt 
    617
    Danke Danke erhalten 
    1.625
    Bedankt in
    797 Beiträgen

    Standard

    Vor dem Aufruf der Methode mietberechnung() bei den Wohnungsobjekten solltet ihr unbedingt mit isVermietet() prüfen, ob diese vermietet ist, da - je nach Implementierung - die Methode mietberechnung() faktisch auch null (Integer ist eine Klasse!) zurückgeben könnte und dadurch bei Handling mit dem Zeiger eine NullPionterException provoziert werden kann.

    LG, Matthias
    Füllhöhe des Textes technisch bedingt!

    ----------------------------------------
    Matthias Zagermann
    Jünger der polyphonen PVC/PVAc-Scheiben

    Jede Entscheidung ist der Tod von Milliarden von Möglichkeiten

  11. #8

    Registriert seit
    14.04.2009
    Beiträge
    19
    Danke Gedankt 
    0
    Danke Danke erhalten 
    13
    Bedankt in
    8 Beiträgen

    Standard

    @tobi: genau darauf wollte ich hinaus. jetzt müsste alles soweit komplett sein

    @matthias: richtig,aber das wurde in tobis lösung schon berücksichtigt. in der klasse Hausverwaltung wird dies aber nicht benötigt. und das war ja die klasse bzw. die methode der klasse,die er hier geschrieben hat.

  12. Der folgende Benutzer bedankt sich bei Daniel L für diesen nützlichen Beitrag:

    tobi0123 (29.07.2010)

  13. #9

    Registriert seit
    23.11.2009
    Beiträge
    3
    Danke Gedankt 
    1
    Danke Danke erhalten 
    3
    Bedankt in
    2 Beiträgen

    Standard

    Also erst mal danke an alle, die hier gepostet haben, das hat mir echt geholfen. Da ich nicht ganz soo viel Ahnung habe, bitte nicht böse sein, wenn die Frage scheiße ist, aber ich versteh nicht ganz, warum du in der Klasse Mietvertrag eine Map für die Mieter angelegt hast. Ich denke doch, dass zu der Assoziationsklasse Mietvertrag immer nur ein Mieter gehört und dafür beliebig viele Mietverträge von der Hausverwaltung verwaltet werden, oder mach ich in meinen Überlegungen einen Fehler?!?
    Allen viel Glück dabei, vor allem denen, die noch bestehen müssen!!

  14. #10
    Benutzerbild von tobi0123
    Registriert seit
    10.10.2009
    Beiträge
    146
    Danke Gedankt 
    14
    Danke Danke erhalten 
    30
    Bedankt in
    26 Beiträgen

    Standard

    Zitat Zitat von marcus666 Beitrag anzeigen
    Ich denke doch, dass zu der Assoziationsklasse Mietvertrag immer nur ein Mieter gehört und dafür beliebig viele Mietverträge von der Hausverwaltung verwaltet werden
    So kannst du es wohl auch machen, ist vielleicht verständlicher als in einem Mietvertrag mehrere Mieter zu nennen.

  15. #11

    Registriert seit
    14.04.2009
    Beiträge
    19
    Danke Gedankt 
    0
    Danke Danke erhalten 
    13
    Bedankt in
    8 Beiträgen

    Standard

    Ich denke auch dass beide Varianten OK wären. Aber im "realen" Leben kann es durchaus schon vorkommen, dass mehrere Mieter in einem Mietvertrag stehen (denkt an WGs). Das wäre in dem Fall aber wohl Interpretationssache und nichts woran man sich aufhängen sollte

    Viel Erfolg morgen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. [MB Produktionstechnik] Übung Fertigungsplanung II - Teilefertigung
    Von jleu im Forum Vorlesungen/Übungen 5./6. Semester
    Antworten: 4
    Letzter Beitrag: 28.06.2010, 12:49
  2. [MB] [TSL II 06] Übung 5
    Von st.peter im Forum Vorlesungen/Übungen 5./6. Semester
    Antworten: 2
    Letzter Beitrag: 31.01.2006, 15:20
  3. [MA 05] - Übungsplan
    Von Hogisan im Forum Vorlesungen/Übungen 3./4. Semester
    Antworten: 3
    Letzter Beitrag: 17.01.2005, 16:26

Lesezeichen

Forumregeln

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •