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

Tags: |

Sobre o Autor

Benedito Silva Júnior
Benedito Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *