|
JSem: 2.2 |
Possiamo migliorare il codice di RettDemo creando un metodo che calcola l'area di un oggetto Rettangolo; questo è più pulito in quanto l'area dipende solo dai dati (latoa, latob) che definiscono gli oggetti. La struttura generale per definire un metodo è la seguente:
Un parametro non deve essere necessariamente un tipo semplice (int, double, ecc...) Il tipo del parametro può essere una classe qualsiasi (cioè un parametro può essere un oggetto di una classe qualsiasi) Esempi di metodi: E' un metodo di nome paint; il metodo paint è pubblico, non restituisce valori; c'è un parametro di tipo Graphics e di nome g (il nome può anche essere diverso, per esempio screen, ...). (Questo è un esempio in cui il parametro è un oggetto.) E' un metodo di nome init; il metodo è pubblico, non restituisce valori, l'elenco dei parametri è vuoto. il metodo drawString della classe Graphics è pubblico, non restituisce dati, e ha tre parametri. Il parametro Str è la stringa che deve essere disegnata, (x,y) sono le coordinate del punto dello schermo in cui si inizierà a disegnare la stringa. Attenzione qui y misura la "baseline" del testo. C'è una piccola novità, il metodo è abstract, questo proviene dal fatto che la classe Graphics è una classe astratta. Vedremo più avanti cosa sono le classi astratte. Riscriviamo la classe Rettangolo con un metodo che calcola l'area:
Il metodo area della classe Rettangolo è un metodo di nome "area", che è pubblico per default e che restituisce un valore di tipo int (=latoa*latob); l'elenco dei parametri è vuoto. Esempio:
Possiamo migliorare ulteriormente la classe Rettangolo con l'introduzione di un metodo che imposta le dimensioni di ogni oggetto:
In questo modo la dichiarazione di un oggetto Rettangolo di lati 10, 20, diventa: Rettangolo r = new Rettangolo(); r.Dim(10,20); abbiamo guadagnato una riga di codice per ogni oggetto e abbiamo anche limitato gli errori, perchè nel modo precedente era facile dimenticarsi di impostare una dimensione. |
next content previous