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'