Dado o suporte oferecido pelo Java 7 à programação orientad...
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