Questão FC670860
Durante o desenvolvimento de um sistema de gestão odontológica para uma clínica de médio porte, a equipe de tecnologia optou por criar uma aplicação multiplataforma com recursos de
Linguagens de Programação
QUADRIX · 2025
Durante o desenvolvimento de um sistema de gestão odontológica para uma clínica de médio porte, a equipe de tecnologia optou por criar uma aplicação multiplataforma com recursos de agendamento, prontuário eletrônico e geração de relatórios financeiros. Para isso, diferentes módulos foram desenvolvidos em C#, Python e Java, aproveitando as características específicas de cada linguagem.
Com base nessa situação hipotética e nos conhecimentos a respeito de sintaxe, tipos de dados, estruturas de controle, classes, herança e polimorfismo em C#, Python e Java, julgue o item a seguir.
Em Java, a herança múltipla de classes é permitida nativamente, o que possibilita que uma classe Dentista herde diretamente de Pessoa e Funcionario.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A afirmação está errada porque em Java não é permitida a herança múltipla de classes. Uma classe não pode estender duas superclasses ao mesmo tempo, portanto não é válido escrever algo como class Dentista extends Pessoa, Funcionario. Essa restrição evita conflitos de ambiguidade conhecidos como "problema do diamante".
O que Java permite é que uma classe estenda apenas uma classe e, ao mesmo tempo, implemente várias interfaces. Exemplo: class Dentista extends Funcionario implements PessoaInterface. Desde Java 8, interfaces podem ter métodos default, dando alguma reutilização de código sem herança múltipla de classes.
Como alternativas ao modelo de herança múltipla, usa-se composição (uma classe contém instâncias de outras) ou combinação de herança simples com múltiplas interfaces para organizar responsabilidades.
Conteúdo do catálogo FC Concursos · Atualizado em