[Java]: Esercizi Semplici Override
Salve a tutti,
sto cercando tracce (non sono indispensabili le soluzioni) di esercizi semplici per imparare l'override ad esempio come questa:
Grazie.
sto cercando tracce (non sono indispensabili le soluzioni) di esercizi semplici per imparare l'override ad esempio come questa:
Ogni oggetto della classe Persona deve contenere tre variabili di istanza private:
1. nome (di tipo String)
2. cognome (di tipo String)
3. eta (di tipo int)
La classe Persona deve definire i seguenti metodi:
1. costruttore, che prende come parametri nome, cognome ed eta, e inizializza lo stato dell'oggetto (variabili di istanza)
2. toString, metodo di istanza che restituisce una stringa ottenuta concatenando nome, cognome ed età dell'oggetto Persona su cui è invocato.
3. dammiNome, metodo di istanza che restituisce il nome dell'oggetto Persona su cui è invocato
4. dammiCognome, metodo di istanza che restituisce il cognome dell'oggetto Persona su cui è invocato
5. dammiEta, metodo di istanza che restituisce l'età dell'oggetto Persona su cui è invocato
Scrivere inoltre una classe ProvaPersona (in un file ProvaPersona.java) contenente il metodo main che:
1. Crea una istanza di un oggetto Persona con ad esempio i dati: "Marco", "Monti", 21
2. Stampa su righe diverse nome, cognome, ed età contenute nell'oggetto creato usando i metodi dammiNome, dammiCognome, e dammiEta della classe Persona
3. Stampa su una sola riga i dati dell'oggeto Persona usando il metodo toString della classe Persona
Grazie.
Risposte
senza lavorare con l'ereditarietà poi fare poche prove di Override, i metodi automaticamente ereditati da Object con cui testare gli Override sono toString,equals,clone.
Sì, però vorrei qualche traccia così per esercitarmi, questa traccia ad esempio mi ha aiutato tantissimo a capire come sovrascrivere il metodo toString, ora vorrei qualcosa anche per gli altri metodi equals e clone, però non li vorrei difficili...poi l'ereditarietà verrà piano piano anche perché sto cercando davvero di non trascurare nessun particolare per imparare a programmare benino...comunque grazie!
Allora estendi il componente Persona con un metodo:
public boolean equals (Persona persona);
poi per testarlo crea un oggetto di questo tipo:
Persona persona1 = new Persona (....);
Object persona2 = new Persona (....); //devi creare un'oggetto identico a quello sopra
poi testi:
persona1.equals(persona1);
persona1.equals(persona2);
cosa succede??
Poi cancelli il tuo metodo e definisci questo: (ricordati all'interno di fare il cast (Persona) persona)
@Override
public boolean equals (Object persona);
fai gli stessi test: cosa succede?
public boolean equals (Persona persona);
poi per testarlo crea un oggetto di questo tipo:
Persona persona1 = new Persona (....);
Object persona2 = new Persona (....); //devi creare un'oggetto identico a quello sopra
poi testi:
persona1.equals(persona1);
persona1.equals(persona2);
cosa succede??
Poi cancelli il tuo metodo e definisci questo: (ricordati all'interno di fare il cast (Persona) persona)
@Override
public boolean equals (Object persona);
fai gli stessi test: cosa succede?