Hallo,
ich habe mal eine Design Frage an euch:
Ich habe 2 Klasse:
Klasse A
und Klasse BCode:public class Class_A{ public static void doCalculate(){ doSomething..; } public static void doManipulate(){ doSomethingOther..; } }
Zur Beschreibung: Beide haben die selben static Methoden, aber nur in der ersten machen sie das selbe(doSomething).Code:public class Class_B{ public static void doCalculate(){ doSomething..; } public static void doManipulate(){ doSomethingOtherThenA..; } }
Die 2.Methode wird zwar gleich aufgerufen, macht aber was anderes.
Um den Code von der ersten Methode nicht jedesmal zu wiederholen, schreit es ja förmlich nach einer abstrakten Klasse von der die beiden dann erben um die 2 MEthode individuell zu implementieren:
In der Theorie ganz schön, musste ich feststellen, das Java kein 'abstract static' unterstüzt.Code:public abstract class AbstractClass{ public static void doCalculate(){ doSomething..; } public abstract static void doManipulate(); } }
Begründung: static-Methoden gelten implizit als final und können von daher nicht überschrieben werden.
Mit einem Interface ist das natürlich auch nicht handzuhaben(ähnliches Problem).
Ich wollte euch jetzt mal fragen, ob einer von euch auch dieses Problem schon gehabt hat.
Gibt es entwürfe wie man dieses handhaben kann?
Vielen dank schonmal im vorraus
Michael
Lesezeichen