Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Porque definir o método IMPRIME na classe mãe ?

Não entendi qual a necessidade de emitir o método IMPRIME na classe mãe, visto que as informações que quero acessar irão ser usadas no método da classe filha. Inclusive, consigo executar o codigo sem problemas mesmo sem definir o IMPRIME na classe mãe.

1 resposta
solução!

Como você mesmo disse não é estritamente necessário. Porém pode ser utilizado de forma inteligente também, você pode utilizar métodos abstratos na class mãe para garantir que as classes filhas implementem aquele método. No meu caso, mais à frente do curso é ensinado o __str__ que é um método especial que é executado quando você converte sua classe para string, um exemplo seria print(sua_classe). Na classe mãe eu retornava uma string com o nome ano e likes, infos que eram comum as filhas. Nas filhas eu chamava o método da mãe utilizandosuper().__str() e concatenava com as informações adicionais específicas daquela classe. exemplo para a classe de filme

def  __str__(self):
        return super()__str__() + f' - {self.duracao} min'

a classe mãe teria:

def __str__(self):
        return f'{self.nome} - {self.ano} - {self.likes} likes'