No internet connection
  1. Home
  2. Dúvidas Gerais

A importância do uso de Get e Set em C#

Por Brenda Aniceto Bueno @Brenda
    2024-01-25 00:35:07.148Z

    A utilização de get e set em C# é essencial para promover um dos princípios fundamentais da programação orientada a objetos: o encapsulamento. Essa prática consiste em ocultar a implementação interna de uma classe e fornecer um meio controlado de acesso aos seus membros, como variáveis e métodos.

    Ao declarar propriedades com get e set, estamos estabelecendo uma camada de abstração sobre os dados da classe, permitindo um controle mais preciso sobre como esses dados são lidos e modificados. O get possibilita a leitura dos valores, enquanto o set permite a alteração desses valores. Isso não apenas contribui para a segurança do código, evitando acesso direto e indesejado a variáveis internas, mas também facilita a implementação de lógicas específicas no momento da leitura ou da escrita.

    **Segue um exemplo pratico: **

    public class ItemPedido
    {
        // Propriedade para armazenar o nome do item (acesso privado)
        public string Nome { get; private set; }
    
        // Propriedade para armazenar o preço unitário do item (acesso privado)
        public decimal PrecoUnitario { get; private set; }
    
        // Propriedade para armazenar a quantidade do item (acesso privado)
        public int Quantidade { get; private set; }
    
        // Propriedade para calcular o subtotal do item (acesso público somente leitura)
        public decimal Subtotal
        {
            get { return PrecoUnitario * Quantidade; }
        }
    
        // Construtor da classe ItemPedido
        public ItemPedido(string nome, decimal precoUnitario, int quantidade)
        {
            // Inicialização das propriedades no momento da criação do objeto
            Nome = nome;
            PrecoUnitario = precoUnitario;
            Quantidade = quantidade;
        }
    }
    

    Qualquer dúvida, tô aqui pra ajudar! Pode perguntar à vontade se precisar de mais informações ou ajuda. Estou à disposição! 😊

    • 0 respostas