Na UML, as classes A e B legam suas estruturas e comportamen...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - herança múltipla.
A herança múltipla ocorre quando uma classe em uma linguagem de programação orientada a objetos é capaz de herdar atributos e comportamentos de mais de uma classe pai ou superclasse. No contexto do enunciado, que descreve o uso de UML (Unified Modeling Language), é mencionado que as classes A e B "legam" suas estruturas e comportamentos à classe C. Isso significa que a classe C está herdando de ambas as classes A e B, configurando assim, um cenário de herança múltipla.
Este conceito é particularmente importante na engenharia de software porque permite uma maior reutilização de código e pode contribuir para a criação de sistemas mais flexíveis e fáceis de manter. Entretanto, a herança múltipla também pode apresentar complexidades, como a ambiguidade de herança, onde duas classes base possuem membros com o mesmo nome.
É fundamental notar que nem todas as linguagens de programação suportam herança múltipla diretamente. Por exemplo, Java não suporta herança múltipla de classes, mas permite herança múltipla de interfaces, enquanto C++ é uma linguagem que suporta herança múltipla de classes.
As outras alternativas não descrevem corretamente o cenário apresentado. Delegação é um padrão de design onde um objeto repassa responsabilidade para um segundo objeto ajudante. Derivação é um termo geral que pode se referir à herança, mas não é específico para herança múltipla. Método polimórfico refere-se à capacidade de métodos de terem diferentes implementações em diferentes classes. Multiplicidade está relacionada com a cardinalidade de relacionamentos entre classes em UML, e não com herança.
Portanto, no contexto do enunciado, a alternativa C é a única que descreve corretamente a situação onde uma classe herda características de duas ou mais classes, estabelecendo um cenário de herança múltipla.
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
Delegação - A habilidade de um objeto em emitir uma mensagem para outro objeto em resposta a uma mensagem recebida. A delegação pode ser usada como uma alternativa à herança.
Polimorfismo - Esta associado a herança, trabalha com a redeclaração de métodos previamente herdados de uma classe.
Multiplicidade - Uma especificação do alcance da cardinalidade permissível que um conjunto pode assumir. Podem ser dadas especificações de multiplicidade para papéis dentro de associações, partes dentro de composições, repetições e em outros propósitos
Cuida Alison!
No seu comentário disseste que herança consiste em uma classe herdar de duas ou mais classes? Não é uma boa definição.
O melhor seria dizer que herança consiste em uma classe (filha como disseste) herdar os atributos e métodos de uma outra classe.
Agora o assunto de uma, duas ou várias é outro. Algumas inguagens como JAVA, não permitem herança múltipla (herdar mais de uma classe) e muitos autores defendem que isso não deveria ser feito. Fato pelo qual se utiliza INTERFACES.
Polimorfismo também pode ser melhor resumido em: fazer uma "mesma" coisa de várias formas. Agora em OO, quem faz alguma coisa? A resposta seria dividida em duas partes:
- em relação aos métodos, podem ser escritos com mais de uma assinatura, recebendo parâmetros diferentes e efetuando comportamentos diferentes.
- Em relação a objetos, a história é mais longa, mas basta entender a filosofia de INTERFACES que você vai notar que "vários objetos" podem/devem fazer uma determinada coisa (ter um determinado método), logo todos eles, mesmo sendo diferentes, fazem a mesma coisa. Cada um do seu jeito.
Segundo dicionário Priberam:
Fonte: http://www.priberam.pt/dlpo/default.aspx?pal=legam
Sabendo que legar significa deixar por herança a resposta fica bem mais fácil.
Item C
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo