Salve a tutti,
Vorrei porre una domanda abbasta semplice riguardo i metodi getter e setter.
Devo fare un progetto nel quale è neccessaria la realizzazione di una lista della classe Casa.
Quest'ultima al suo interno ha dei campi interi che devono rispettare certe condizioni.
(Per esempio il campo altezza deve neccessariamente contenere un numero positivo)
private int altezza;
public void setAltezza(int value)
{
if(value > 0)
this.altezza = value;
}
La creazione dell'istanza la faccio tramite un costruttore che riceve tutti i parametri della classe (non sono molti)
Ora arriva la domanda: come posso evitare la creazione di un istanza nel momento in cui anche un solo campo non venga effettivamente assegnato? (Cioè nel caso in cui non rispetti la condizione del metodo setter)
Io pensavo di fare tutti i metodi setXXX in questo modo:
-
public void setAltezza(int value) throws exception()
{
if(value > 0)
this.altezza = value;
else
throw new exception()
}
e poi gestire l'eccezione nella classe con il main all'interno di un try-catch.
Potrebbe andare bene come soluzione? Ci sono alternative migliori? Quale sarebbe la classe piu appropriata da usare come eccezione?
P.S. Dato che il metodo setXXX verrebbe richiamato dal costruttore e il costruttore viene chiamato dalla mia classe principale devo far si che anche il costruttore deleghi l'eccezzione, giusto?