Classes em C#
Se você está aprendendo C#, uma das primeiras coisas que vai se deparar é o conceito de classes. Elas são fundamentais para a programação orientada a objetos (POO), permitindo que você crie programas mais organizados e reutilizáveis. Neste post fique por dentro de classes em C#.
O que é uma Classe?
Uma classe em C# é um modelo (ou blueprint) a partir do qual os objetos são criados. Ela define propriedades e comportamentos que seus objetos terão. Pense em uma classe como a planta de uma casa: você define o que a casa terá, mas a construção real é o objeto.
Criando uma Classe em C#
A sintaxe básica para criar uma classe em C# é a seguinte:
public class NomeDaClasse
{
// Atributos (ou campos) da classe
// Métodos (comportamentos) da classe
}
- public: O modificador de acesso que indica que a classe pode ser acessada de qualquer lugar;
- NomeDaClasse: O nome da classe, que deve seguir as convenções de nomenclatura (CamelCase).
Exemplo prático
Vamos criar uma classe simples chamada Carro
com alguns atributos e métodos:
public class Carro
{
// Atributos (ou campos)
public string Marca;
public string Modelo;
public int Ano;
// Método para exibir informações do carro
public void ExibirInfo()
{
Console.WriteLine($"Marca: {Marca}, Modelo: {Modelo}, Ano: {Ano}");
}
}
Aqui, temos três atributos: Marca, Modelo e Ano, e um método ExibirInfo que exibe as informações do carro no console.
Criando objetos a partir de uma Classe
Depois de definir uma classe, você pode criar objetos a partir dela. Para criar um objeto em C#, usamos o operador new
:
Carro meuCarro = new Carro();
meuCarro.Marca = "Toyota";
meuCarro.Modelo = "Corolla";
meuCarro.Ano = 2020;
meuCarro.ExibirInfo();
Este código cria um objeto meuCarro
da classe Carro
, atribui valores aos seus atributos e chama o método ExibirInfo
para exibir as informações.
Construtores
Construtores são métodos especiais usados para inicializar objetos quando são criados. Em C#, o construtor tem o mesmo nome da classe. Vamos adicionar um construtor à classe Carro
:
public class Carro
{
public string Marca;
public string Modelo;
public int Ano;
// Construtor
public Carro(string marca, string modelo, int ano)
{
Marca = marca;
Modelo = modelo;
Ano = ano;
}
public void ExibirInfo()
{
Console.WriteLine($"Marca: {Marca}, Modelo: {Modelo}, Ano: {Ano}");
}
}
Agora, podemos criar objetos já passando valores no momento da criação:
Carro meuCarro = new Carro("Honda", "Civic", 2022);
meuCarro.ExibirInfo();
Encapsulamento: Propriedades em C#
Em vez de usar campos públicos, uma prática comum em C# é usar propriedades para proteger os dados e controlar o acesso a eles. Isso nos permite adicionar lógica ao obter ou definir o valor de um atributo. Vamos ver um exemplo de encapsulamento:
public class Carro
{
public string Marca { get; set; }
public string Modelo { get; set; }
private int _ano;
public int Ano
{
get { return _ano; }
set
{
if (value > 1886) // O primeiro carro foi inventado em 1886
_ano = value;
else
Console.WriteLine("Ano inválido!");
}
}
public void ExibirInfo()
{
Console.WriteLine($"Marca: {Marca}, Modelo: {Modelo}, Ano: {Ano}");
}
}
Agora, estamos protegendo o valor de Ano para garantir que o ano seja válido.
Herança
Uma das grandes vantagens de usar classes em C# é a herança, que permite que uma classe herde características de outra. Vamos criar uma classe CarroEsportivo
que herda de Carro
:
public class CarroEsportivo : Carro
{
public int VelocidadeMaxima { get; set; }
public void ExibirVelocidadeMaxima()
{
Console.WriteLine($"Velocidade Máxima: {VelocidadeMaxima} km/h");
}
}
Agora podemos criar um carro esportivo com todos os atributos e métodos da classe Carro
mais o novo atributo VelocidadeMaxima
:
CarroEsportivo ferrari = new CarroEsportivo();
ferrari.Marca = "Ferrari";
ferrari.Modelo = "F8 Tributo";
ferrari.Ano = 2021;
ferrari.VelocidadeMaxima = 340;
ferrari.ExibirInfo();
ferrari.ExibirVelocidadeMaxima();
As classes em C# são um dos principais conceitos da programação orientada a objetos e fornecem uma maneira poderosa de organizar e estruturar seu código. Com classes, você pode criar programas mais modulares, reutilizáveis e fáceis de manter.
Dominar o uso de classes, herança e encapsulamento vai te ajudar a escrever código mais eficiente e profissional.
Dúvidas ou sugestões sobre classes em C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários