Dado o suporte oferecido pelo Java 7 à programação orientad...

Próximas questões
Com base no mesmo assunto
Q626260 Programação
Dado o suporte oferecido pelo Java 7 à programação orientada a objetos, qual tipo de herança é suportado pelo Java 7?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Herança simples.

A herança é um conceito fundamental da programação orientada a objetos (POO), permitindo que uma classe herde propriedades e comportamentos de outra classe, chamada de superclasse ou classe pai. No Java, essa capacidade é utilizada para promover o reuso de código e estabelecer uma relação hierárquica entre classes.

Java 7, assim como outras versões do Java, suporta herança simples, o que significa que uma classe pode herdar de apenas uma superclasse. Isso é feito através da palavra-chave extends. A herança múltipla, onde uma classe pode herdar diretamente de mais de uma classe, não é suportada no Java devido à complexidade e à possibilidade de ambiguidade que isso poderia introduzir, o que é conhecido como o "problema do diamante".

Embora o Java não suporte herança múltipla de classes, ele oferece um mecanismo semelhante através de interfaces. As interfaces podem ser implementadas por qualquer classe, e uma classe pode implementar várias interfaces, fornecendo alguma flexibilidade que se assemelha à herança múltipla. No entanto, interfaces apenas declaram métodos sem fornecer uma implementação. Portanto, a alternativa E - Herança por interface, não é uma forma de herança no sentido clássico, mas sim um contrato que define quais métodos uma classe deve implementar.

A alternativa D - Herança por prototipagem, refere-se a um modelo de herança usado em linguagens de programação baseadas em protótipos, como JavaScript, onde objetos herdam diretamente de outros objetos sem a necessidade de classes definidas previamente. Esse conceito não se aplica ao Java, que é uma linguagem baseada em classes.

Finalmente, a alternativa A - Java 7 não suporta herança - é incorreta porque, como já discutimos, Java suporta herança simples, que é uma característica central da POO nessa linguagem.

A alternativa B - Herança múltipla - apesar de ser uma característica presente em algumas linguagens de programação, não é suportada pelo Java, que opta por herança simples e interfaces para evitar complicações inerentes à herança múltipla.

Então, olhando para as opções disponíveis e compreendendo o modelo de herança adotado pelo Java, fica claro que a alternativa C - Herança simples - é a única que descreve corretamente a capacidade de herança do Java 7.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Java nao suporta herança multipla, somente simples devido ao conceito que uma subclasse pode somente uma superclass. Superclasses nao sao instanciadas, somente as classes derivadas

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo