Supponiamo, ho una classe con un campo finale statico costante. Allora voglio che in certe situazioni quel campo sia diverso. Può ancora essere definitivo, perché dovrebbe essere inizializzato nel costruttore. La mia domanda è, quale strategia dovrei usare:
- aggiungi questo valore di campo nel costruttore
- crea 2 sottoclassi, sostituisci l'utilizzo del campo originale con un metodo protetto e sovrascrivilo nelle sottoclassi
- O creare qualche classe composita che terrà l'istanza della mia classe all'interno e in qualche modo cambierà quel valore?
Quale approccio dovrei usare e perché?