C# - Propriedades Auto-Implementadas
A partir do C # 3.0, foi implementada o recurso das propriedades auto-implementadas. |
Através das propriedades auto-implementadas podemos fazer a declaração das propriedades de uma classe de uma maneira mais concisa quando nenhuma lógica adicional é necessária nos assessores (get e set) das propriedades.
Vamos comparar como era antes e como ficou a declaração das propriedades usando o recurso das propriedades auto-implementadas:
private int _idade; public int Idade { get { return _idade; } set { _idade = value; } } |
public int Idade { get; set; } |
ANTES DA VERSÃO 3.0 | COM PROPRIEDADES AUTO-IMPLEMENTADAS |
Obs: Nos métodos de acesso às propriedades temos os famosos get/set, onde o acessor get é responsável por retornar um valor de um campo privado da classe e o acessor set é responsável por atribuir um novo valor ao campo.
Ao utilizar a sintaxe das propriedades auto-implementadas o compilador C# gera automaticamente os campos privados.
Utilizando este recurso temos uma redução na quantidade de código necessária para implementarmos as propriedades das nossas classes e o código fica mais claro e legível.
Abaixo temos um exemplo mais completo onde usamos o recurso das propriedades auto-implementas.
using System; namespace PropriedadesAutoImplementadas { class Program { public class Cliente { //propriedade ID - somente leitura public int ID { get; private set; } public string Nome { get; set; } public string Email { get; set; } public Cliente(int id){ ID = id; } public override string ToString(){ return ID + "\t" + Nome + "\t" + Email; } } static void Main(string[] args){ //criando um novo objeto cliente com´ID = 1 Cliente p = new Cliente(1); //Modificando uma propriedade p.Nome = "Jose Carlos Macoratti"; p.Email = "macoratti@yahoo.com"; Console.WriteLine(p); Console.ReadLine(); } } } |
Neste exemplo definimos a
propriedade ID como sendo somente leitura atribuindo o modificador private ao acessor set: public int ID { get; private set; } Observe que não precisamos
usar getNome, SetNome para obter ou As propriedades geram
automaticamente o campo privado para usar no get e set. Resultado da execução do código ao lado: |
Assim as propriedades auto implementadas permitem a você especificar rapidamente uma propriedade de uma classe sem precisar escrever código para as propriedades Get e Set.
A seguir um resumo do mesmo recurso para o VB .NET:
Outro novo recurso muito legal está relacionado com
a definição de propriedades na linguagem VB .NET. Vejamos... - VS 2008 - como era - Para definir uma propriedade tínhamos que definir o GET e o SET
- VS 2010 - Novo recurso - Usamos o recurso chamado propriedades auto-implementadas.
Aqui temos o que chamamos de propriedades auto-implementadas que torna a declaração de propriedades mais concisa quando nenhuma lógica adicional é requerida na propriedade. Outros exemplos para o VB .NET: Public Property
Nome As String Assim economizamos 7 linhas de código. |
"Não se turbe o vosso coração;crede em Deus, crede também em mim." (João 14:1)
Referências:
How to: Implement a Lightweight Class with Auto-Implemented Properties (C# Programming)
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#