Verschiedene benutzerdefinierte Datentypen mit gemeinsamen Eigenschaften?

Octane007

Grünschnabel
Hallo,

ich komm an einer Java-Aufgabe momentan nicht weiter. Genauer gesagt fehlt mir an einer Stelle der Ansatz.
Die Aufgabenstellung:

Unterschiedliche Betriebsmittel eines Staates sollen dargestellt werden. Ein Betriebsmittel
bildet ein Gegenstand ab, der zum Erhalt des innerstaatlichen Verwaltungsablaufs dient.


Alle Betriebsmitteln haben folgende Eigenschaften gemeinsam:

  • - Ein Betriebsmittel wurde zu einem bestimmten Preis angescha ft (Anscha ffungskosten), der 0
    nicht unterschreiten darf und in Euro-Cent angegeben wird.
  • - Ein Betriebsmittel hat eine Bezeichnung, welche es genauer beschreibt (z.B. Ordner, grau).
  • - Zusätzlich hat ein Betriebsmittel einen aktuellen Wert, der nicht über den Anscha ffungskosten
    liegen darf.
  • - Bei Betriebsmitteln, die eine Stückzahl besitzen sollen die Anscha ungskosten pro Stück gespeichert
    werden.


Zwischeninfo: Bis hier wäre alles kein Problem. Ich müsste nur einen eigenen Datentyp mit eigener Klasse und den dementsprechenden Klassenvariablen usw usf anlegen. Das Problem kommt bei der weiteren Beschreibung

Es gibt mehrere spezielle Betriebsmittel, die zusätzliche Eigenschaften besitzen:

  • Technische Betriebsmittel besitzen Betriebskosten pro Monat, die 0 nicht unterschreiten dürfen und
    in Euro-Cent angegeben werden.
  • 1. Häuser Häuser zählen ebenfalls zu den Betriebsmitteln (zumindest in Griechenland). Häuser
    verlieren an Wert und zwar einen festen Betrag pro Jahr und haben zusätzlich Betriebskosten pro
    Monat, die 0 nicht unterschreiten dürfen und in Euro-Cent angegeben werden.
  • 2. Betriebsmittel zur Verwaltung Betriebsmittel zur Verwaltung stellen alle Betriebsmittel dar, die
    zu Verwaltungszwecken dienen. Sie besitzen zusätzlich die Eigenschaft Stückzahl, die die Anzahl
    der angescha ten Einheiten angibt. Diese muss zu einem späteren Zeitpunkt änderbar sein. z.B.
    200 Ordner.
    Betriebsmittel der Verwaltung unterliegen keinem Wertverlust, da sie nur in geringem Umfang
    benutzt werden.
  • 3. Transportmittel Transportmittel dienen zur Beförderung von Personal. Sie besitzen zusätzlich
    die Eigenschaft Plätze. Des weiteren haben Transportmittel die Anzahl an gefahrenen Kilometern
    seit der Anscha ung. Ein Transportmittel verliert pro gefahrenem Kilometer an Wert (Wertverfall
    in Euro-Cent).
    Transportmittel besitzen Betriebskosten pro Monat, die 0 nicht unterschreiten dürfen und in Euro-
    Cent angegeben werden.

Frage: Ab hier fehlt mir eben der Ansatz. Muss ich zuerst einen eigenen Datentyp namens "Betriebsmittel" anlegen und dann für die speziellen Betriebsmittel weitere Datentypen (Bsp: "Technisches Betriebsmittel") und dann alle von dem Datentyp "Betriebsmittel" erben lassen? oder kann man das mit einem Interface lösen?
 
Also ich sehe hier keinen ersichtlichen Grund für ein Interface. Du brauchst einfach nur eine Basisklasse "Betriebsmittel" und alle anderen "erweiterten" Betriebsmittel werden von der Basisklasse abgeleitet.
 
Um derartige Java Probleme elegant zu lösen empfehle ich folgendes Buch: Entwurfsmuster von Kopf bis Fuß

Da wird gleich in Kapitel 1 das Problem mit der Klasse Ente aufgeworfen, wo es doch Enten mit unterschiedlichem Verhalten gibt: Solche die fliegen, andere die nicht fliegen etc. Wenn man nun das Verhalten fliegen() in der Klasse Ente implementiert, werden alle Enten fliegen. Das Buch erläutert im üblichen "Kopf bis Fuß"-Stil wie man derartige Probleme mit Java sauber entwirft.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück