Eu ainda não consigo entender muito bem o que são essas três funcionalidades e para o que servem.
Eu ainda não consigo entender muito bem o que são essas três funcionalidades e para o que servem.
Oi, Federico! Tudo bem?
O Setter é um método que permite alterar o valor de um atributo de uma classe. Ele é utilizado quando queremos definir um novo valor para um atributo específico. Por exemplo, imagine uma classe "Pessoa" com o atributo "idade". Utilizando um Setter, podemos definir um novo valor para esse atributo, como por exemplo, "pessoa.set_idade(30)".
O Getter, por sua vez, é um método que permite acessar o valor de um atributo de uma classe. Ele é utilizado quando queremos obter o valor de um atributo específico. Continuando com o exemplo da classe "Pessoa", utilizando um Getter, podemos obter o valor do atributo "idade", como por exemplo, "idade = pessoa.get_idade()".
Já o Property é uma funcionalidade do Python que permite criar métodos especiais para acessar e modificar atributos de uma classe, como se fossem atributos normais. Ele combina as funcionalidades de Getter e Setter em um único método. Por exemplo, podemos definir um Property chamado "idade" que permite acessar e modificar o atributo "idade" da classe "Pessoa" de forma mais simples, como se fosse um atributo comum. Assim, em vez de utilizar os métodos "get_idade()" e "set_idade()", podemos simplesmente utilizar "pessoa.idade" para acessar ou modificar o valor.
A vantagem do Property em relação aos métodos Getter e Setter é que ele proporciona uma sintaxe mais limpa e intuitiva, tornando o código mais legível e fácil de entender. Além disso, o Property permite adicionar lógica personalizada ao acesso e modificação dos atributos, o que pode ser útil em determinadas situações.
Em resumo, de forma mais lúdica, o Getter é um "pegador" de valores, em que, imaginando que temos um objeto que guarda informações, o getter é como uma mãozinha que pega e entrega uma dessas informações quando pedimos. Exemplo: temos um objeto que representa uma pessoa, e o getter pega o nome dessa pessoa quando pedimos.
Já o Setter é um "configurador" de valores. De forma que, imaginando que queremos mudar o nome dessa pessoa, o setter é como uma mãozinha que ajuda a configurar um novo valor para o nome. Exemplo: Usando o mesmo objeto da pessoa, o setter ajuda a mudar o nome.
Por fim, o Property é uma maneira mais fácil de pegar e configurar valores. Imaginando que queremos pegar e configurar o nome da pessoa sem precisar chamar dois métodos diferentes, a property é como uma mãozinha que faz isso de forma mais direta. Exemplo: Continuando com o objeto da pessoa, a property simplifica a leitura e escrita do nome.
Espero ter ajudado na compreensão! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!