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

[Dúvida] Utilização de __str__

Bom dia meus amigos!

No projeto desenvolvido no curso, aparece a utilização do método especial str na classe mãe (Programa). Fiquei na dúvida sobre a importância de se utilizar esse método nessa classe.

Tendo em vista que nas demais classes, Filme e Série, já existe o parâmetro super().init(), que por herança traz para essas classes os atributos dos programas, dessa forma, todos os atributos já constam dentro da classe.

Aplicar o str apenas nas classes filhas não seria o suficiente para mostrar os valores dos objetos?

1 resposta
solução!

Oi Matheus, tudo bem?

A utilização do método especial __str__ na classe mãe (Programa) é importante para definir a representação em string dos objetos dessa classe. Quando você utiliza o método print em um objeto da classe Programa, por exemplo, o Python automaticamente chama o método __str__ para exibir uma representação legível desse objeto.

Aplicar o __str__ apenas nas classes filhas (Filme e Série) não seria suficiente para mostrar os valores dos objetos da classe mãe. Ao utilizar o super().__init__() nas classes filhas, você está herdando os atributos da classe mãe, mas isso não significa que a representação em string desses objetos será exibida corretamente.

Por exemplo, se você tiver um objeto da classe Filme e utilizar o print, sem o método __str__ na classe mãe, você não verá a representação completa do objeto, apenas os atributos da classe Filme. Ao utilizar o __str__ na classe mãe, você garante que a representação em string de todos os atributos seja exibida corretamente.

Um abraço e bons estudos.