Esercizi su equals
Overridding di equals nelle sottoclassi di Object per implementare l'ugualianza per valore
Esercizi per mostrare l'utilità di eseguire l'override del metodo equals nelle sottoclassi per avere l'ugualianza per valore del metodo equals.
ESERCIZI:
Riprendendo il punto https://github.com/checksound/TestBase#3-domanda-verifica-ugualianza-per-riferimento-vs-ugualianza-per-valore della verifica, imprlmentate una versiona di equals che restituisca il valore true quando due oggetti di tipo
Persona
hanno gli attributinome
edeta
uguali come valore. Nell'implementazione della classe fate anche si che gli attributinome
edeta
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 eannata
di tipo int . Implemenentate la equals nella classeCassaVino
che esegua il controllo solo sulnomeVino
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 classeCassaVino
.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.
ESEMPI SOLUZIONI
https://github.com/checksound/ObjectEqualsOverride, con esempi di override del metodo equals di Object
nella classe laboratorio.persona.Persona
(la classe che esegue il test è laboratorio.persona.TestPersona
).
Nel package laboratorio.negoziovini
c'è l'esempio del negozio vini. La classe per testare le funzionalità è laboratorio.negoziovini.TestNegozio
.
Last updated