1
resposta

Sobre o @property

Sempre que eu definir um atributo como privado terei que inserir na classe o @property do atributo privado? No caso do exemplo da vídeo aula o likes não estar dentro dos parênteses da class Filme. Depois de iniciado o programa podemos incluir atributos que não estejam dentro do inicializador (init) como é o caso do likes ? Obrigatoriamente temos que criar um método para ele além do @property.

1 resposta

Bom dia Josimar, tudo bem? Espero que sim!

Nem sempre que for criar um atributo privado precisará do @property, ele será utilizado quando for necessário que aquela variável seja retornada fora da classe ou modificada fora da classe.

Esse conceito é o conceito de encapsulamento, para que aquele atributo seja manipulado através de métodos ao invés de ser modificada ou coletada diretamente.

Mais informações sobre encapsulamento, veja nesse link: Encapsulamento em Python

Se quiser ver uma discussão sobre esse assunto de quando usar o property, veja no link: Quando usar o property

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!