Como garantir a identidade única de um objeto?

1 resposta
M

Pessoal,

Estou com uma dúvida teórica.
Sabemos, da teoria de OO, que todo objeto deve possuir uma IDENTIDADE, um ESTADO e um CONJUNTO DE COMPORTAMENTOS.

Identidade

Todo objeto é único e pode ser distinguido de outros objetos.

O que nos garante que um objeto é único ?
Como este objeto pode ser distinuido de outros objetos ?

Agradece,

Max Carvalho

1 Resposta

T

Olá Max!

Bom, a “identidade” de um objeto pode ser definida através dos valores de seus atributos.
Por exemplo, imagine uma classe Pessoa com vários atributos.
Você pode definir um atributo id que identifica unicamente cada instância da classe Pessoa. Com esse id, você pode sobrescrever o método equals que te pertimirá saber quando uma pessoa é igual a outra.

public class Pessoa {
private Integer id;
private String nome;
..........

// sobrescrevendo o equals usando o atributo id
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Pessoa other = (Pessoa) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}

}
Criado 2 de julho de 2009
Ultima resposta 2 de jul. de 2009
Respostas 1
Participantes 2