Ragazzi io ho una classe operaio (classe Op) in cui ho i seguenti attributi:
nome (String) e salario (short), mentre un operaio specializzato
(classe OpSp, sottoclasse di Op), in aggiunta possiede una specializzazione (riferimento ad un oggetto di tipo Specialty).
Devo implementare(usando equals) questo criterio di uguaglianza:
Due operai semplici sono uguali se hanno lo stesso nome. Due operai specializzati, in più, devono avere anche la stessa specializzazione (nel senso di ==). Un operaio semplice non è mai uguale ad un operaio specializzato.
Io avevo pensato di mettere sicuramente in Op equals in questo modo:
poichè nome è di tipo String, facendo nome.equals(operaio.nome), richiama equals di String confrontanto se i nomi sono uguali, giusto?codice:public class Op { String nome; short salario; public Op {...} public boolean equals(Object o) { if (!(o instanceof Op) return false; Op operaio = (Op)o; return nome.equals(operaio.nome); } } public class OpSp extends Op { // qui come ridefinisco equals ? }
Come potrei fare riguardo la specializzazione, salvo restando che ho fatto bene per la classe Op.

Rispondi quotando