capypad
0 Tage Serie
java / intermediate
Snippet

Das Strategy-Pattern mit Enums

In Java können Enums abstrakte Methoden haben, die jede Konstante implementieren muss. Dies setzt das Strategy-Entwurfsmuster effektiv um und ermöglicht es, verschiedene Verhaltensweisen mit verschiedenen Enum-Konstanten zu verknüpfen.

snippet.java
java
1
2
3
4
5
6
7
8
9
10
public enum Operation {
PLUS {
public double apply(double x, double y) { return x + y; }
},
MINUS {
public double apply(double x, double y) { return x - y; }
};
 
public abstract double apply(double x, double y);
}
Erklärung
1
PLUS { public double apply(...) { ... } }
Eine spezifische Implementierung der abstrakten Methode für die PLUS-Konstante.
2
public abstract double apply(double x, double y);
Zwingt jede Konstante im Enum, eine eigene Implementierung der Logik bereitzustellen.