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
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.