Propriedades e encapsulamento em C#
Nesta lição, você vai usar propriedades com validação para proteger um objeto contra valores inválidos.
Introdução
Encapsulamento (encapsulation) significa manter os dados dentro do objeto e só permitir alterações por caminhos controlados. Em C#, as propriedades permitem escrever a validação no momento da atribuição, enquanto quem usa o objeto continua com uma sintaxe simples, como a de uma variável comum.
O campo _price é private, então não pode ser acessado diretamente de fora. A propriedade Price lê e grava por meio desse campo, e a parte set só aceita valores não negativos, lançando ArgumentOutOfRangeException se o preço for negativo. Assim, um Product nunca tem um preço inválido, e o valor 19.95 é impresso normalmente.
Exemplo de C# executável
using System;
class Product
{
private decimal _price;
public decimal Price
{
get => _price;
set => _price = value >= 0 ? value : throw new ArgumentOutOfRangeException();
}
}
class Program
{
static void Main()
{
var product = new Product { Price = 19.95m };
Console.WriteLine(product.Price);
}
}
19.95Pratique com o depurador
Pratique com um desafio
Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.
Todos os desafios