Basta chiedersi se è possibile. Quello che vorrei veramente fare è controllare e possibilmente modificare uno degli argomenti prima che venga memorizzato come val.Scala: è possibile sovrascrivere il costruttore di case case predefinito?
In alternativa, potrei utilizzare un sovraccarico e rendere privato il costruttore predefinito. In tal caso, vorrei anche rendere privato il costruttore factory predefinito nell'oggetto companion, come dovrei farlo?
Molte grazie.
Adam
edit: bene ho capito che per fare il privato costruttore di default rende anche la fabbrica di default costruttore privato, quindi ho una soluzione, io sono ancora interessato a sapere se il costruttore di default è superabile se
Perché vuoi farlo? Una classe case deve essere utilizzata per definire i tipi di dati algebrici, quindi un costruttore aggiunto che altera gli argomenti del chiamante è un po 'una bugia. Per quanto riguarda la validazione degli argomenti, ciò può essere fatto nel costruttore principale usando 'assert' o' require'. –
@ adam77 Per riformulare l'istruzione iniziale come una domanda, "Posso controllare ed eventualmente modificare un [parametro della classe caso]?" La risposta è si. Ho appena pubblicato i dettagli su una domanda correlata che si trova qui: http://stackoverflow.com/a/25538287/501113 – chaotic3quilibrium