Construtores e membros estáticos
Crie objetos com construtores (incluindo sobrecargas e encadeamento) e use campos/métodos estáticos para armazenar dados compartilhados por todas as instâncias.
Construtores e membros estáticos é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 2 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 de construtores e membros estáticos
Objetivo: construir objetos com segurança e compartilhar dados entre instâncias.
- Construtores definem o estado necessário
- Sobrecargas & encadeamento com this(...)
- Fields/métodos estáticos compartilhados por todos os objetos
Construtor básico
Um construtor é executado quando se chama new e inicializa o objeto.
using System;
// Constructor sets required data on creation
public class User
{
public string Name { get; private set; }
public int Age { get; private set; }
public User(string name, int age)
{
Name = name;
Age = age;
}
}
public class Program
{
public static void Main(string[] args)
{
User u = new User("Ada", 28);
Console.WriteLine(u.Name + " (" + u.Age + ")");
}
}
Sobrecargas e encadeamento
Use a sobrecarga de construtores por conveniência e this(...) para reutilizar a lógica.
using System;
// Overloads let you offer defaults; chain with this(...)
public class Point2D
{
public int X { get; private set; }
public int Y { get; private set; }
public Point2D(int x, int y)
{
X = x; Y = y;
}
public Point2D(int xy) : this(xy, xy) { } // calls the main constructor
}
public class Program
{
public static void Main(string[] args)
{
Point2D p1 = new Point2D(3, 4);
Point2D p2 = new Point2D(5); // becomes (5,5)
Console.WriteLine("p1: " + p1.X + "," + p1.Y);
Console.WriteLine("p2: " + p2.X + "," + p2.Y);
}
}
Membros estáticos
Os membros estáticos são compartilhados por todas as instâncias. Chame métodos estáticos usando o nome do tipo.
using System;
// Static members live on the type (one copy shared)
public class Counter
{
private static int _created = 0; // shared count
public int Id { get; private set; }
public Counter()
{
_created = _created + 1;
Id = _created;
}
public static int CreatedCount()
{
return _created;
}
}
public class Program
{
public static void Main(string[] args)
{
Counter a = new Counter();
Counter b = new Counter();
Console.WriteLine("a.Id=" + a.Id + ", b.Id=" + b.Id);
Console.WriteLine("Total created = " + Counter.CreatedCount());
}
}
Construtor estático e constantes
Um construtor estático é executado uma vez por tipo. Use const para literais definidos em tempo de compilação e static readonly para valores definidos em tempo de execução.
using System;
public class AppConfig
{
public const string AppName = "Demo"; // compile-time constant
public static readonly DateTime StartedAt; // runtime-initialized once
// Static constructor: runs once before first use of the type
static AppConfig()
{
StartedAt = DateTime.UtcNow;
}
public static string Info()
{
return AppName + " started at " + StartedAt.ToString("u");
}
}
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine(AppConfig.Info());
Console.WriteLine(AppConfig.Info()); // static ctor ran only once
}
}
Dicas
Dicas:
- Mantenha os construtores pequenos; valide as entradas antecipadamente.
- Use sobrecargas para valores padrão comuns; encadeie-as a um único construtor principal.
- Use membros estáticos quando os dados realmente pertencerem ao tipo (por exemplo, contadores e auxiliares).
Conceito de membros estáticos
Recapitulação
Recapitulação: use construtores para definir o estado necessário, use sobrecargas e encadeamento por conveniência e adicione membros estáticos para dados ou auxiliares compartilhados por todos os objetos.
Perguntas Frequentes
A aula “Construtores e membros estáticos” é grátis?
Sim — o texto completo de “Construtores e membros estáticos” é 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 “Construtores e membros estáticos”?
Crie objetos com construtores (incluindo sobrecargas e encadeamento) e use campos/métodos estáticos para armazenar dados compartilhados por todas as instâncias. 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 2 de 3.
Quanto tempo leva a aula “Construtores e membros estáticos”?
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