J
JavaGast
Gast
Hallo,
ich hab mal ne Frage. Ich gestalte eine Klasse in der Art von BigDecimal. Diese soll Immutable sein. Ist ja an sich kein Problem. Nur diese soll ein Interface implementieren welches die wichtigsten Methoden beschreibt.
Nur so kann ich ja nicht mehr sicher sein das jeder der dieses Interface implementiert seine Klasse auch Immutable gestalten. Kann ich das irgendwie erzwingen? Wenn nicht müsste ich alles in eine Klasse stopfen und diese final machen um Subclassen zuverhindern. Finde ich aber nicht so Elegant wie mit Interface.
Beispiel:
Interface Unit
INUnit implements Unit
CMUnit implements Unit
MMUnit implements Unit
Somit könnte man eine Maßeinheit wie zB Pica die noch nicht verfügbar ist später hinzufügen. Wenn ichs nicht mit Interface löse müsste ich jetzt eine Klasse Unit erstellen dort alles mögliche reinstopfen und niemand kann sie mehr verändern. Wenn ne Maßeinheit fehlt ist Pech, aber das ja nicht sehr schön.
Jemand ne Idee? Oder wie macht Ihr sowas?
Grüße,
JavaGast
ich hab mal ne Frage. Ich gestalte eine Klasse in der Art von BigDecimal. Diese soll Immutable sein. Ist ja an sich kein Problem. Nur diese soll ein Interface implementieren welches die wichtigsten Methoden beschreibt.
Nur so kann ich ja nicht mehr sicher sein das jeder der dieses Interface implementiert seine Klasse auch Immutable gestalten. Kann ich das irgendwie erzwingen? Wenn nicht müsste ich alles in eine Klasse stopfen und diese final machen um Subclassen zuverhindern. Finde ich aber nicht so Elegant wie mit Interface.
Beispiel:
Interface Unit
INUnit implements Unit
CMUnit implements Unit
MMUnit implements Unit
Somit könnte man eine Maßeinheit wie zB Pica die noch nicht verfügbar ist später hinzufügen. Wenn ichs nicht mit Interface löse müsste ich jetzt eine Klasse Unit erstellen dort alles mögliche reinstopfen und niemand kann sie mehr verändern. Wenn ne Maßeinheit fehlt ist Pech, aber das ja nicht sehr schön.
Jemand ne Idee? Oder wie macht Ihr sowas?
Grüße,
JavaGast