Campos, propriedades automáticas e inicializadores de objetos
Defina campos e propriedades automáticas e crie objetos com inicializadores de objetos concisos.
Campos, propriedades automáticas e inicializadores de objetos é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.
Visão geral dos fundamentos de classes
Objetivo: criar classes simples.
- Fields armazenam dados brutos
- Propriedades automáticas expõem dados de forma organizada
- Inicializadores de objetos definem valores no momento da criação
Fields em uma classe
Fields são variáveis dentro de uma classe. Para dados públicos, properties são mais seguras.
using System;
// Fields store raw data inside a class
public class Player
{
public string name; // field (usually prefer properties for public APIs)
public int level;
}
public class Program
{
public static void Main(string[] args)
{
Player p = new Player();
p.name = "Ada";
p.level = 1;
Console.WriteLine("Player " + p.name + " level " + p.level);
}
}
Propriedades automáticas
Propriedades automáticas expõem dados por meio de get/set sem que seja necessário escrever um field. Também é possível definir valores padrão simples.
using System;
// Auto-properties generate a hidden backing field
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
public int Pages { get; set; } = 0; // auto-property initializer (C# 6)
}
public class Program
{
public static void Main(string[] args)
{
Book b = new Book();
b.Title = "Clean Code";
b.Author = "Robert C. Martin";
b.Pages = 464;
Console.WriteLine(b.Title + " by " + b.Author + " (" + b.Pages + " pages)");
}
}
Inicializadores de objetos
Inicializadores de objetos definem properties no momento da criação, mantendo o código curto e claro.
using System;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
// Object initializer calls set-accessors after construction
Person p = new Person { Name = "Alan", Age = 30 };
Console.WriteLine(p.Name + " (" + p.Age + ")");
}
}
Fields versus properties
Diretriz:
- Use fields privados para o armazenamento interno.
- Exponha properties públicas para poder adicionar validações posteriormente sem quebrar quem chama o código.
- Mantenha nomes claros e simples.
Fields e properties em conjunto
Combine um field privado com uma property para controlar as gravações (invariantes simples).
using System;
// Private fields + public properties pattern
public class Product
{
private int _stock; // field (internal storage)
public string Name { get; set; } // property (public API)
public int Stock // property with simple guard
{
get { return _stock; }
set
{
if (value < 0) value = 0; // simple safety for beginners
_stock = value;
}
}
}
public class Program
{
public static void Main(string[] args)
{
Product p = new Product { Name = "Pen", Stock = 5 };
p.Stock = -3; // setter clamps to 0
Console.WriteLine(p.Name + " stock = " + p.Stock);
}
}
Conceito de propriedade automática
Recapitulação
Recapitulação: defina dados com fields e exponha-os por meio de propriedades automáticas. Use inicializadores de objetos para definir valores no momento da criação.
Perguntas Frequentes
A aula “Campos, propriedades automáticas e inicializadores de objetos” é grátis?
Sim — o texto completo de “Campos, propriedades automáticas e inicializadores de objetos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.
O que vou aprender em “Campos, propriedades automáticas e inicializadores de objetos”?
Defina campos e propriedades automáticas e crie objetos com inicializadores de objetos concisos. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C# Academy?
Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “Campos, propriedades automáticas e inicializadores de objetos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C# Academy?
Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Campos, propriedades automáticas e inicializadores de objetos
- Construtores e membros estáticos
- Encapsulamento e invariantes