[Java]: Esercizi Semplici Override

Lionel2
Salve a tutti,

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
lordb
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.

Lionel2
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!

lordb
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?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.