Uma propriedade (ou Property, se preferir chamar assim) é um membro de uma classe que possibilita ler, gravar, ou calcular o valor de um determinado dado. As propriedades possibilitam que uma classe exponha a obtenção e definição destes valores. Inicialmente uma propriedade era constituída de uma variável privada, que era exposta através de getters e setters, como mostrado na Figura 1:

Imagem 1: Exemplo de utilização de Propriedades Automáticas.




Uma propriedade pode obter um valor de uma classe (com o bloco get) e também pode defini-lo (no bloco set). A Imagem mostra como atribuir e recuperar valores das propriedades:

Imagem 2: Como atribuir e recuperar valores de propriedades.

Quando possuímos os blocos get e set em uma mesma propriedade esta é do tipo Read/Write, como mostrado ainda na Imagem 1. Se precisássemos apenas consultar, sem realizar nenhuma definição de valor, teríamos apenas o bloco get, onde a propriedade é chamada de Readonly, como mostra a Imagem 3

Imagem 3: Exemplo de propriedade Readonly.

Internamente sem a presença do set podemos apenas ler o estado, sem alterá-lo.

A partir da versão 3.0 do C# (já estamos na versão 6.0), podemos economizar algumas linhas de código, utilizando Propriedades auto-implementadas, onde a questão pode ser resolvida em uma única linha, sem a necessidade de declarar um atributo, nem os blocos separados de get e set. Veja exemplo apresentado na Figura 4:

Imagem 4: Declaração das propriedades utilizando o recurso das propriedades auto-implementadas.

Várias linhas de código foram economizadas.

Caso tenha alguma dúvida utilize os comentários para entrar em contato.





Entre no grupo do Telegram para receber as dicas de cursos que estão gratuitos e ainda ficar por dentro das promoções da Udemy.

Clique na imagem para acessar o grupo.

Clique aqui para curtir a página Programação Prática no Facebook.

Clique aqui para inscrever-se no Canal Programação Prática no YouTube.



Até a próxima postagem! 🙂


0 comentários

Deixe um comentário

Avatar placeholder

O seu endereço de email não será publicado. Campos obrigatórios marcados com *