Se nella mia classe personalizzata sono presenti 2 costruttori e uno di loro prende un argomento in più e fa tutto il primo ma con una sola riga di codice aggiuntiva (e questa linea aggiuntiva utilizza il argomento extra), come gestirlo al meglio senza dover duplicare tutto il codice nel primo costruttore?Come gestire 2 costruttori quasi identici
codice di esempio
public myConstuctor(int number, int number2){
int result = (number + number2);
int result2 = (number2 - number1)
//Etc
//Etc
//Etc
//Etc
}
public myConstructor(int number1, int number2, int number 3){
int result = (number + number2);
int result2 = (number2 - number1)
//Etc
//Etc
//Etc
//Etc
int result3 = (result + result2 + number3)
}
No, non è la stessa domanda, non sto specificatamente chiedendo come chiamare un costruttore da un altro, sto chiedendo come affrontare il problema di ridurre il codice duplicato, indipendentemente dalla risposta più popolare possibilmente essendo di fare proprio questo (chiama un costruttore dall'altra) – Zippy
"Sto chiedendo come affrontare il problema di ridurre il codice duplicato", hai scelto come corretta non la risposta corretta .. è meglio mettere la logica in il costruttore con più parametri – nachokk
@nachokk, Se creo un oggetto che richiede solo 1 argomento, quindi non ha bisogno di codice nel costruttore a 2 argomenti, quindi la maggior parte della mia logica (tutta la logica comune) è nel costruttore con gli argomenti * least *, quando ho bisogno di creare un oggetto che passa 2 argomenti, allora tutta la logica nel costruttore originale di 1 argomento dovrà ancora essere eseguita poiché è comune a tutti gli oggetti di questo tipo, ma avranno anche bisogno del codice aggiuntivo nel costruttore di 2 argomenti, rimando al costruttore di 1 argomento ed eseguo il codice comune, quindi eseguo il codice aggiuntivo nell'altro. Sembra perfettamente logico? – Zippy