Anzeige:
Ergebnis 1 bis 5 von 5

Thema: 'abstract static' geht nicht = alternativen ?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    26.10.2005
    Beiträge
    41

    Question 'abstract static' geht nicht = alternativen ?

    Hallo,

    ich habe mal eine Design Frage an euch:

    Ich habe 2 Klasse:
    Klasse A
    Code:
    public class Class_A{
      public static void doCalculate(){
         doSomething..;
      }
      public static void doManipulate(){
         doSomethingOther..;
      }
    }
    und Klasse B
    Code:
    public class Class_B{
      public static void doCalculate(){
         doSomething..;
      }
      public static void doManipulate(){
         doSomethingOtherThenA..;
      }
    }
    Zur Beschreibung: Beide haben die selben static Methoden, aber nur in der ersten machen sie das selbe(doSomething).
    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:
    Code:
    public abstract class AbstractClass{
      public static void doCalculate(){
         doSomething..;
      }
      public abstract static void doManipulate();
      }
    }
    In der Theorie ganz schön, musste ich feststellen, das Java kein 'abstract static' unterstüzt.
    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
    Geändert von michael.becker (10-01-2007 um 12:57 Uhr) Grund: Fehlerkorrektur

Lesezeichen

Berechtigungen

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