Esercizi su equals
Overridding di equals nelle sottoclassi di Object per implementare l'ugualianza per valore
Last updated
Overridding di equals nelle sottoclassi di Object per implementare l'ugualianza per valore
Last updated
Esercizi per mostrare l'utilità di eseguire l'override del metodo equals nelle sottoclassi per avere l'ugualianza per valore del metodo equals.
Riprendendo il punto della verifica, imprlmentate una versiona di equals che restituisca il valore true quando due oggetti di tipo Persona
hanno gli attributi nome
ed eta
uguali come valore. Nell'implementazione della classe fate anche si che gli attributi nome
ed eta
siano privati e quindi accessibili solo tramite metodi. Verificate che l'equals
si comporta correttamente (caso in cui ritorna true e false):
Implementate una classe CassaVino
con due attributi private: nomeVino
di tipo String e annata
di tipo int . Implemenentate la equals nella classe CassaVino
che esegua il controllo solo sul nomeVino
cioè due casse di vino di Lambrusco una del 1996 e una del 2000 sono uguali. Implementate la equals e una classe di test che verifichi il comportamento della classe CassaVino
.
Ora scrivete un programma che simula un negozio che vende vino all'ingrosso: il cliente entra nel negozio e chiede al gestore se ci sono 3 casse di Lambrusco ad esempio. Il gestore verifica dal magazzino se c'è la disponibilità. Le casse di Lambrusco possono essere di annate differenti e andare bene oppure il cliente può chiedere un tipo di vino e chiedendo anche che sia di una certa annata, tipo Amarone del 2001. Poi il cliente deve poter ordinare le casse del vino che desidera, con o senza annata, e in magazzino devono essere tolte le casse. Utilizzare una classe java.util.Vector
per contenere le casse di vino e i metodi della classe.
Nel package laboratorio.negoziovini
c'è l'esempio del negozio vini. La classe per testare le funzionalità è laboratorio.negoziovini.TestNegozio
.
, con esempi di override del metodo equals di Object
nella classe laboratorio.persona.Persona
(la classe che esegue il test è laboratorio.persona.TestPersona
).