nao entendi porque devemos usar o @property e @setter!! por favor se alguem poder me explicar com clareza eu agradeço
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
nao entendi porque devemos usar o @property e @setter!! por favor se alguem poder me explicar com clareza eu agradeço
Olá Daiane, tudo bem com você?
O decorator @property corresponde a função property() do python, quando usamos ela como decorator estamos adicionando funcionalidades “especiais” a um método, fazendo ele agir como getters ou setters sem precisar mudar sua sintaxe;
Para usarmos o @property temos que seguir algumas regras.
Exemplo de @property do tipo getter
@property
def limite(self):
print('Usando decorators para ver limite')
return self.__limiteTerminal
from conta import Conta
conta = Conta(132, 'Ana', 1000)
conta.limiteResultado
Usando decorators para ver limite
1000.0Já o decorator do tipo setter, como por exemplo `@limite.setter`, trabalha com chave e valor, para usá-lo devemos informar o local onde está o objeto (self) e informar qual o novo valor.
Exemplo de @property do tipo setter
@limite.setter
def limite(self, limite):
print('Usando decorators para mudar o limite')
self.__limite = limiteTerminal
conta.limite = 500
Usando decorators para mudar o limiteEm resumo temos:
Para saber um pouco mais sobre o uso dos @property, recomendo a leitura dos seguintes artigos, estão em inglês, caso tenha dificuldade com o idioma recomendo o uso do tradutor do navegador.
Caso tenha dúvidas, encontro à disposição.
Abraços e bons estudos.