# Programmieren von "-amtlichesKennzeichen : String(idl){unique}



## adlerauge6 (13. Jun 2010)

Das sollten wir für die Klasse Auto programmieren. Also das Attribut.
Bin nur gerad etwas leicht verwirrt, wegen dem unique.. das heißt ja soviel wie, dasss die Elemente nur einmal vorkommen. 

Ist das das eine Hashmap die das überprüft oder einfach ein: private final String amtlichesKennzeichen()
Wüsste jetzt nicht so genau, wie ich das mit dem unique machen soll.
Ne private Haspmap kanns ja net sein, weil ja dann jedes Auto Objekt ne Hashmap hat was ja unlogisch nach meiner Meinung wäre.

Hätte es jetzt dann einfach so gemacht: private final String amtlichesKennzeichen;

Gruß adlerauge6


----------



## maki (13. Jun 2010)

Die ID muss ja nicht vom Auto selber erzeugt werden, daher hast du wohl recht.


----------



## XHelp (13. Jun 2010)

adlerauge6 hat gesagt.:


> das heißt ja soviel wie, dasss die Elemente nur einmal vorkommen.



Im Grund heißt es, dass du es ein Auto mit diesem Kennzeichen existieren darf. D.h. irgendwo muss auch eine Stelle sein, wo du mehrere Autos verwalten kannst. Da musst du auch abfragen, ob so ein Kennzeichen nicht schon existiert.


----------



## agentone (14. Jun 2010)

Ich würde eine extra Klasse machen, die eine statische private Liste aller vergebenen Amtszeichen enthält und zwei statische Methoden, einmal zum prüfen, ob das Amtszeichen schon vergeben ist und einmal zum reservieren eines Amtszeichens.
Die Methoden werden dann vom Konstruktor der Klasse Auto aufgerufen und entsprechend wird eine AmstszeichenNotAvailableException (sehr schönes Denglisch!!!) geworfen, wenn das Zeichen schon existiert.


----------



## maki (14. Jun 2010)

agentone hat gesagt.:


> Ich würde eine extra Klasse machen, die eine statische private Liste aller vergebenen Amtszeichen enthält und zwei statische Methoden, einmal zum prüfen, ob das Amtszeichen schon vergeben ist und einmal zum reservieren eines Amtszeichens.
> Die Methoden werden dann vom Konstruktor der Klasse Auto aufgerufen und entsprechend wird eine AmstszeichenNotAvailableException (sehr schönes Denglisch!!!) geworfen, wenn das Zeichen schon existiert.


Umgekehrt wird ein Schuh draus, eine Factory erzeugt Autos, und setzt die ID richtig.
So braucht der Konstruktor keine externen Abhängigkeiten.


----------



## adlerauge6 (14. Jun 2010)

Danke für die Tipps hatt mich weitergebracht 
Hatte mich aber leider vertippt gestern. sollte LKW heißen nicht auto.. was ja aber auch egal ist

Hier mal das UML dazu







in der nächsten Aufgabe steht:

Welche Notationselemente des vorliegenden Klassendiagramms lassen sich nicht unmittelbar in Attribute einer Java-Klasse übertragen? Beschreiben Sie verbal, an welcher Stelle im Programm Sie die entsprechenden Anforderungen als Java-Anweisungen implementieren würden. Die Implementierung selbst ist nicht erforderlich.

*Ich würde hier dann schreiben, dass das hier das unique nicht direkt in LWK implementiert werden kann, daher war mein frage ja bezüglich dem unique.
Sonst wars das doch oder?

Nach meine Sicht der Dinge oder habt ihr vll noch einen anderen hinweiß?
*

Schonmal vielen Dank an alle die mir bisher so super geholfen haben 

Gruß adlerauge6


----------



## XHelp (14. Jun 2010)

Zu deinem UML:
Mir ist nicht klar, warum ein LKW "anzahlLKWimFuhrpark" als schlüssel hat bzw warum dieses Atribut überhaupt im LKW ist. Wie der Name schon sagt müsste es noch ein Fuhrpark geben, wo es gespeichert wird. Dafür macht es aber durch aus Sinn das Kennzeichen als Schlüsselwert zu nehmen.
Zudem hast du gar kein Feld vorgesehen um LKW in einer Tour zu speichern (genau so wie Ort und Ziel)

Zu der Aufgabe:
Je nach dem was "unmittelbar" heißt... Man könnte es noch so auslegen: "Fahrer" kann man nicht unmittelbar als Attribut  darstellen, denn man muss zuerst die Klasse "Fahrer" erstellen.


----------



## adlerauge6 (14. Jun 2010)

Gut mir is das auch unklar muss ich dazu sagen. Das ist ne Aufgabe von ner Klausur im Fach Modellierung vom SS2009.. eine MusterLösung/Lösung existiert davon leider nicht.

Fande diese Aufgabe auch mehr als schleierhaft.

Ich denk mal das das nicht unbedingt als Attribut definiert werden muss da ja aus der Assoziation schon raus lesbar ist dass Tour ein Pointer zu Ort Ziel/Start haben muss.. wie auch zu Fahrer und LKW.

Wäre das mit dem Unique denn auch okey wenn ich schreiben würde, dass dies in einer Fuhrpark Klasse beachtet werden soll, dass die erstellten LKWs nicht das gleiche Kennzeichen haben?

Gruß adlerauge6


----------

