Logo Passei Direto
Buscar
4. A herança múltipla é um conceito em orientação a objetos onde uma classe pode herdar características (atributos e métodos) de mais de uma classe. Apesar de ser útil em alguns contextos, a herança múltipla pode causar problemas como o problema do diamante, em que uma classe herda de duas classes que, por sua vez, herdam de uma classe comum. Isso pode levar a ambiguidades sobre qual método ou atributo deve ser utilizado. Suponha que você está desenvolvendo um sistema para um simulador de animais. Você criou uma classe Animal, e duas classes Mamifero e Ave, que herdam de Animal. Em seguida, você cria uma classe Morcego que herda tanto de Mamifero quanto de Ave. O problema do diamante ocorre quando Morcego herda métodos ou atributos comuns de Mamifero e Ave, que foram herdados de Animal. Avalie as seguintes afirmações sobre herança múltipla e o problema do diamante no código apresentado: I. A classe Morcego herda atributos e métodos de ambas as classes Mamifero e Ave. II. O problema do diamante é resolvido em Python usando a ordem de resolução de método (MRO) para determinar qual método herdar. III. A chamada a super() no construtor da classe Morcego invoca o construtor da classe Mamifero. IV. A classe Animal deve ser explicitamente chamada na classe Morcego para evitar o problema do diamante. A) Apenas as afirmativas I e II estão corretas. B) Apenas as afirmativas I e IV estão corretas. C) Apenas as afirmativas I, II e III estão corretas. D) Apenas as afirmativas II e IV estão corretas.

A) Apenas as afirmativas I e II estão corretas.
B) Apenas as afirmativas I e IV estão corretas.
C) Apenas as afirmativas I, II e III estão corretas.
D) Apenas as afirmativas II e IV estão corretas.
User badge image
Questões para Estudantes

há 2 anos

Respostas

User badge image

Ed Verified user icon

há 2 anos

Analisando as afirmativas sobre herança múltipla e o problema do diamante no código apresentado: I. A classe Morcego herda atributos e métodos de ambas as classes Mamifero e Ave. - Correta. Na herança múltipla, a classe Morcego pode herdar características de mais de uma classe pai. II. O problema do diamante é resolvido em Python usando a ordem de resolução de método (MRO) para determinar qual método herdar. - Correta. Em Python, a ordem de resolução de método (MRO) é usada para determinar a ordem em que as classes pai são percorridas para encontrar o método a ser herdado. III. A chamada a super() no construtor da classe Morcego invoca o construtor da classe Mamifero. - Incorreta. A chamada a super() no construtor da classe Morcego invocaria o construtor da classe pai imediato, que pode ser Mamifero ou Ave, dependendo da ordem de resolução de método. IV. A classe Animal deve ser explicitamente chamada na classe Morcego para evitar o problema do diamante. - Incorreta. Em Python, a ordem de resolução de método (MRO) resolve o problema do diamante, não sendo necessário chamar explicitamente a classe Animal. Portanto, a alternativa correta é: A) Apenas as afirmativas I e II estão corretas.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais perguntas desse material

Mais conteúdos dessa disciplina