Métodos Abstratos (Obrigatoriedade de sobrescrita)

5 respostas
M

Olá pessoal,

Esbarrei em uma dúvida, seguinte vamos supor que tenhamos uma superclasse profissional de saúde, e tenhamos as subclasses, Medico, Dentista e Enfermeira. Essas subclasses poderiam herdar as caracteristicas da superclasse sem problemas. Mas a idéia da superclasse é agrupar tudo que é comum, vamos dizer que eu tenha um método(abstrato) fazerCirurgia(); esse méteto é usado tanto para médicos quanto apra dentistas, se ele estivar declarado na superclasse eu obrigo Enfermeira a sobrescrever esse método o qual é um pouco estranho pois ela não fará uso do memso, ela não tem nada a ver com isso, e se eu fazer escrever esse método para a classe Dentista e Medico eu não estou reutilizando código nem usando os beneficios da Herança, esse problema cresce quanto temos várias subclasses de categorias diferentes, inevitavelmente algumas categorias terão métodos em comum mas outra que herdam a mesma classe pai não terão nada a ver como o caso da Enfermeira, alguem saberia uma forma eficiente de resolver essa questao?

5 Respostas

A

Bom , pelo que vc disse creio que o uso da interface seja mais apropriado …
Pois somente quem pode realizar este procedimento , poderia implementar
esta interface … Nao sei se o pessoal concorda comigo :stuck_out_tongue:

Rafael.Simonelli

Concordo com o Post Anterior.

Interfaces são sua melhor solução.
Combinado com o Design Pattern “Strategy”, você assegura que a enfermeira continua sendo uma profissional de saúde, com seus devidos comportamentos, mas não vai fazer cirurgias.

Rafael.Simonelli

PS: Seu tópico está duplicado.

Vide: http://www.guj.com.br/java/256400-metodos-abstratos-obrigatoriedade-de-sobrescrita#1334826

M

É é minha primeira postagem no fórum rss, acabei criando sem querer dois tópicos.

Mas faz sentido, eu implementi aqui e ficou 100%, porque ai somente quem deve realizar esse procedimento da um implements da interface sobrescrevendo os métodos abstratos, mas ai nesse caso devemos colocar na interface os métodos que possuem esse tipo de probleme né, porque se eu colocar todos metodos da superclasse acontecerá o meso problema pq a interface tbm obriga as sublcasses sobreporem os métodos. O que é resolvido colcando na interface somente os métodos dos quais precisamos dar uma maior especifidade para determinas subclasses deixando os métodos que todas usarão direto na superclasse.

concordam comigo?

E

MarcosScrobolsize ao meu ver seria interessante criar uma classe “ProfisionalDaSaude”.
Nela estaria contido as informações gerais para todos os profissionais da saúde.
E todos os profissionais da saúde estenderiam esse tipo.
Além disso poderiamos criar uma interface que conteria o método cirurgia. E todos
aqueles que fazem cirurgia implementariam essa interface de acordo com suas características.

O cardiologista faz um tipo de cirurgia, o dentista outro, e assim vai.

Até mais

Criado 25 de outubro de 2011
Ultima resposta 25 de out. de 2011
Respostas 5
Participantes 4