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!