nem azt mondtam, hogy funkcionalis, hanem hogy nagyon hasonlo. koszi, tudom mit tud a Java, azt is, hogy mi lesz/lett volna a 7esben.
es az, hogy Javaban nincs fuggvenypointer, sosem hianyzott meg annyira. ahol minimalisan igen, ott meg ki lehetett valtani OOPvel.
de tessek, ilyen egy ilyen kod, ami nyilvan jol kihasznalja a nyelv lehetosegeit:
interface P {
List<Card> match(List<Card> cards);
}
enum Value {
HCARD(new P() {
...
}),
PAIR(new P() {
...
}),
...
private final P predicate;
private Value(P predicate) {
this.predicate = predicate;
}
public List<Card> match(List<Card> cards) {
return predicate.match(cards);
}
}
hasznalni meg egyszeru, mint a faeket: Value.HCARD.match(akarmi)