/** * Questo programma esegue delle operazioni di prova sulla classe Persona. */ public class ElencoDipendenti { /** * Metodo che crea e restituisce un oggetoo di classe Persona con i valori degli attributi * specificati nei parametri di input. */ public static Persona creaPersona(String nome, String cognome, int eta, double stipendio) { Persona p = new Persona(); p.nome = nome; p.cognome = cognome; p.eta = eta; p.stipendio = stipendio; return p; } /** * Metodo che visualizza, in maniera utile ad un essere umano, un oggetto di classe Persona, * passato tramite il parametro "pers". */ public static void stampaPersona(Persona pers) { System.out.println(pers.nome + " " + pers.cognome); System.out.println("Anni: " + pers.eta + " Stipendio: " + pers.stipendio); } /** * Metodo che aumenta lo stipendio del parametro in input "pers". Notare che, poiché le classi * sono tipi riferimento. La modifica dell stipendio si ripercuote sull'oggetto passato come * parametro al momento della chiamata. */ public static void promozione(Persona pers) { pers.stipendio = 1.2 * pers.stipendio; } /** * Il metodo main si limita a provare un po' i metodi definiti sopra e la classe Persona. */ public static void main(String[] args) { // Creo e riempio "a mano" un oggetto di classe Persona Persona p; p = new Persona(); p.cognome = "Amato"; p.nome = "Gianluca"; p.eta = 22; p.stipendio = 1_000_000; stampaPersona(p); // Aumento lo stipendio di p. La modifica fatta dentro il metodo "promozione" si ripercuote // su p, // perché le classi sono tipi riferimento. promozione(p); stampaPersona(p); // Creo p3 come alias di p. Se modifico p3, modifico anche p. Persona p3 = p; p3.nome = "Fabio"; stampaPersona(p); // Credo p2 utilizzando il metodo creaPersona Persona p2 = creaPersona("Paolo", "Rossi", 33, 50_000); stampaPersona(p2); // Creo un array di due persone, riempendolo manualmente Persona[] persone; persone = new Persona[2]; persone[0] = creaPersona("Gianluca", "Amato", 22, 1_000_000); persone[1] = creaPersona("Paolo", "Rossi", 33, 50_000); // Creo un array di due persone, usando la notazione compatta per creare array con // un contenuto prestabilito. Persona[] persone2 = {creaPersona("Gianluca", "Amato", 22, 1_000_000), creaPersona("Paolo", "Rossi", 33, 50_000)}; } }