Em resumo tenho:
interface Persistable //segui a dica do sergiotaborda
getID() : Object
setID(Object obj);
class ClientePessoas extends Pessoa implements Cliente , Persistable
class ClienteEmpresa extends Empresa implements Cliente , Persistable
class CientePessoas
ID …
Double QualMeuDesconto
class CienteEmpresa
ID …
Double QualMeuDesconto //aqui é uma formula difente por isso o usa do poliformismo mais abaixo
Pessoa
ID …
double indicePotencialCliente
a interface Cliente nao tem ID pois nao persiste, porem ClientePessoa tem pois é persistivel.
modelagem a parte minha pergunta é:
class AlgumaOpercao
Cliente cliente
int Cliente_ID //atributo mapeado
FazerOperacaPara(Cliente cliente)
essa classe acima faz aguma coisa para cliente, mas para ela nao importa se é ClienteEmpresa ou ClientePessoa.
tb toh usando a dica do sergiotaborda http://www.guj.com.br/posts/list/69322.java tenho
Cliente cliente = ClienteRepository.findByID(345);
//dai vou passar o cliente para AlgumaOpercao, porem no metodoFazerOperacaPara
FazerOperacaPara(cliente);
//dentro desse metodo como classe FazerOperacaPara vai saber o ID do Cliente? para poder passar para o cliente_ID
private void FazerOperacaPara(Cliente cliente)
{
this.cliente = cliente;
this.cliente_ID = <a href="http://cliente.ID">cliente.ID</a> //mas Cliente a interface nao tem ID. e agora tb nao me interessa mais se é ClientePessoa ou ClienteEmpresa
}
nao estou duplicando topico, mas se alguem quiser ver http://www.guj.com.br/posts/list/69322.java a duvida é diferente, e se alguem quiser ver esse outro topico eu tb ficaria agradecido.
Agradeço desde ja.