Analise o seguinte programa em Python: Quando esse prog...

Próximas questões
Com base no mesmo assunto
Q2383245 Programação
Analise o seguinte programa em Python:

Imagem associada para resolução da questão

Quando esse programa for executado, sua saída será 
Alternativas

Comentários

Veja os comentários dos nossos alunos

socorro quero passar na caixa ti

poxa ...aloguem explica please?

Pelo que entendi e pesquisei:

  • O super() segue a ordem de resolução de método (MRO) para determinar qual classe pai deve ser chamada.
  • A MRO é definida pela hierarquia de herança.
  • Você pode verificar a MRO de uma classe usando Classe.mro() .

portando temos na hierarquia:

X (pai de Y)

Y (pai de Z)

Z (e o z que chama o metodo com o super)

portanto ele ira imprimir primeiro "Y" que é o que está no método para impressão do pai de Z,

e depois o que esta no filho que é "Z".

Deem uma olhada em herança, pessoal.

Basicamente, o super() serve para chamar algo da classe superior, da classe mãe.

Notem que def mostrar() está sendo repetido diversas vezes, então para você dizer ao python que você quer o mostrar de uma classe da classe de cima, você usa o super().nome

Nesse caso temos uma herança dupla, se não me engano. Isso é possível no Python, mas a prioridade vai para a ClasseY que está em primeiro

Eu sabia que Z seria impresso, mas tinha dúvida se Y tbm seria, errei.

Clique para visualizar este comentário

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