Generalização de clases

5 respostas
V

Seguinte galera. Tenho um senário de uma classe genérica e suas especializações. Conforme imagens em anexo. Tenho um combo de tipos de reclamantes para preencher. A pergunta é: Qual classe ponho o método para me retornar os tipos de reclamantes? A classe reclamante não deveria me listar apenas os reclamantes propriamente ditos?



5 Respostas

thegoergen

Mas você não tem uma classe de TipoReclamante??

rodrigues.danilo

Criar a classe TipoReclamante, talvez fosse um boa forma. Acho que colocar em uma das quatro classes que você já criou não seria uma boa idéia.
Imagine que Reclamante é uma classe que representa o reclamante físico mesmo, ou seja, por que um Professor/Aluno/Funcionario deve ter conhecimento dos TipoReclamante existentes? Da mesma forma por que novos Reclamante deveriam ter esta informação? Isto é mais cabível a uma classe TipoReclamante. Esta TipoReclamante conteria uma lista de Reclamante, por exemplo.
A melhor forma de você implementar isso, é com você (como usuário/cliente/solicitante da aplicação) definindo o real comportamento do problema.

V

Se for desta forma não compensa ter uma especialização da classe reclamante.

V

A única coisa que diferencia cada um deles é o tipo de identificação, ou seja, o professor tem funcional, o aluno tem matrícula e o funcionário tem login no sistema.

L

Pelo que entendi do que você mostrou , voce poderia modelar assim :

Reclamante(transforme numa classe abstrata)
codReclamante(PK)
Nome
Telefone
e-mail
datCodRec

PRofessor
codReclamante(FK com codReclamante no Reclamante)
identificacao(PK)

Aluno
codReclamante(FK com codReclamante no Reclamante)
Matricula(PK)

Funcionario
codReclamante(FK com codReclamante no Reclamante)
Login(PK)

seria um modelo mais normalizado.

Nesse caso , você poderia descobrir o tipo de reclamante pegando o instanse of da classe por exemplo.

Criado 2 de maio de 2008
Ultima resposta 4 de mai. de 2008
Respostas 5
Participantes 4