1
resposta

Herança múltipla no Python

Olá!

No curso Python 3: Avançando na orientação a objetos, aula 6 (Herança Múltipla), houve um caso onde duas classes herdadas possuíam o mesmo método e o Python resolvia esse problema com mro (Method Resolution Order). Segue o código implementado:

class Funcionario:
    def registra_horas(self, horas):
        print('Horas registradas.')

    def mostrar_tarefas(self):
        print('Fez muita coisa...')

class Caelum(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Caelumer')

    def busca_cursos_do_mes(self, mes=None):
        print(f'Mostrando cursos - {mes}' if mes else 'Mostrando cursos desse mês')

class Alura(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Alurete!')

    def busca_perguntas_sem_resposta(self):
        print('Mostrando perguntas não respondidas do fórum')

class Junior(Alura):
    pass

class Pleno(Alura, Caelum):
    pass

# Testes
luan = Pleno()
luan.mostrar_tarefas()

# imprime a mensagem do método 'mostrar_tarefas' de Alura.

Minha dúvida: Caso eu queira manter o código implementado, mas que o método invocado fosse da classe Caelum ao invés da Alura, sem remover o método em Alura, quais seriam as possíveis soluções?

Desde já, agradeço àqueles que responderem este tópico!

1 resposta
Removido a pedido do usuario.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software