Beleza!!! A discusao vai esquentar! Todo mundo entendeu?
Aqui comeca a aparecer o porque do conceito de interfaces!

>Eu, Ricardo Munhoz Santiago sou uma pessoa física, que me formei médico e
>venho trabalhar neste hospital. Entro então como Medico. No meio do ano,
>fico doente e resolvo me internar neste mesmo hospital. Para ter uma ficha
>clinica preciso ser cadastrado como paciente. Já houve duplicação dos dados
>da classe Pessoa Fisica.

 Desculpa, mais nao entendi porque teria duplicacao ja que se pesquiso no
cadastro pelas pessoas fisicas vou te achar (a generalizacao e' justamente
pra evitar a duplicacao de informacao). A tua propria frase e incompativel.
Na hora de criar uma nova instancia do Paciente que implica criar uma nova
instancia da Pessoa Fisica descobriria a duplicacao.

Mais entendi a tua preocupacao.

A heranca e sempre uma coisa que de uma forma ou de outra me amarra
bastante. Preciso de algum mecanismo que me permita escapar dela.
Existem dois mecanismos basicos : heranca multipla e interfaces.
Ja que estamos na lista de Java e pra nao fugir do assunto, vamos a usar as
interfaces.

Que tal se definimos duas interfaces : IPaciente e IMedico (alguem me
indique a sintaxe correta, por favor) e aplicamos elas na classe pessoa
fisica? Sera melhor que a associacao? Porque?
O sera melhor deixar como associacao mesmo?

A pergunta ta no ar...

Um abraco, Pablo.

-----Original Message-----
From: Ricardo Santiago <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date: Thursday, January 13, 2000 8:15 AM
Subject: Re: [SouJava-J] POO



>>Entao a heranca que vamos ter pode ser :
>>Pessoa -> Pessoa Fisica -> Paciente
>>                                             -> Medico
>>Pessoa ->Pessoa Juridica-> Convenio

>Tenho apenas uma consideração neste respeito... Geralmente não é
>recomendável associar por herança um papel (role) que possa mudar. Vou
>exemplificar.


>Quando vamos falar de um papel desempenhado, a melhor coisa é usar de
>associação, não herança.
>No caso, a classe Medico deve estar associada a uma pessoa fisica, e da
>mesma forma a classe Paciente.

>Este é o típico caso onde o teste "é uma" pode enganar!

>Podemos dizer que um paciente "é uma" pessoa física, mas no fundo, paciente
>é apenas o estado em que a pessoa se encontra durante uma visita ao
>hospital, é só o papel que ela desempenha.!


just my 2 cents!


Ricardo Munhoz Santiago (CPM Sistemas)
Sun Certified Programmer for the JAVA 2 Platform


Come and get some !!!



    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------


    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a