Introdução à Programação Orientada a Objetos (POO) em C#

O que é Programação Orientada a Objetos?

A Programação Orientada a Objetos (POO) é um dos conceitos mais usados na criação de software moderno. Ela permite organizar o código de forma mais próxima do mundo real, usando objetos que possuem características (atributos) e ações (métodos).

🌟 Os 4 pilares da POO:

  • Encapsulamento: Protege os dados internos dos objetos.
  • Abstração: Mostra só o que é importante, escondendo os detalhes.
  • Herança: Permite que uma classe herde comportamentos de outra.
  • Polimorfismo: Um mesmo método pode ter comportamentos diferentes.

📌 Classes e Objetos

Uma classe é como um molde. Já o objeto é o que nasce desse molde!

Exemplo básico em C#:

public class Carro

{

    public string Marca { get; set; }

    public string Modelo { get; set; }

    public int Ano { get; set; }

    public void ExibirDetalhes()

    {

        Console.WriteLine($"Marca: {Marca}, Modelo: {Modelo}, Ano: {Ano}");

    }

}

class Program

{

    static void Main()

    {

        Carro meuCarro = new Carro();

        meuCarro.Marca = "Toyota";

        meuCarro.Modelo = "Corolla";

        meuCarro.Ano = 2020;

        meuCarro.ExibirDetalhes();

    }

}

👉 Esse código cria um objeto Carro e exibe seus detalhes no console.

🔒 Encapsulamento

Serve para proteger os dados internos de uma classe.

Exemplo de Encapsulamento:

public class Carro

{

    private string _marca;

    public void SetMarca(string marca)

    {

        if (!string.IsNullOrEmpty(marca))

        {

            _marca = marca;

        }

    }

    public string GetMarca()

    {

        return _marca;

    }

}

class Program

{

    static void Main()

    {

        Carro carro = new Carro();

        carro.SetMarca("Honda");

        Console.WriteLine(carro.GetMarca());

    }

}

✅ Aqui, só podemos acessar a marca usando os métodos SetMarca() e GetMarca().

👑 Herança

Com a herança, uma classe pode aproveitar atributos e métodos de outra classe.

Exemplo de Herança:

public class Veiculo

{

    public string Marca { get; set; }

    public int Ano { get; set; }

    public void ExibirInfo()

    {

        Console.WriteLine($"Marca: {Marca}, Ano: {Ano}");

    }

}

public class Carro : Veiculo

{

    public string Modelo { get; set; }

    public new void ExibirInfo()

    {

        base.ExibirInfo();

        Console.WriteLine($"Modelo: {Modelo}");

    }

}

class Program

{

    static void Main()

    {

        Carro carro = new Carro();

        carro.Marca = "Ford";

        carro.Ano = 2019;

        carro.Modelo = "Focus";

        carro.ExibirInfo();

    }

}

✅ A classe Carro herda de Veiculo e ainda adiciona o atributo Modelo.

🎭 Polimorfismo

Permite que métodos com o mesmo nome tenham comportamentos diferentes.

Exemplo de Polimorfismo:

public class Animal

{

    public virtual void Som()

    {

        Console.WriteLine("O animal faz um som");

    }

}

public class Cachorro : Animal

{

    public override void Som()

    {

        Console.WriteLine("O cachorro late");

    }

}

public class Gato : Animal

{

    public override void Som()

    {

        Console.WriteLine("O gato mia");

    }

}

class Program

{

    static void Main()

    {

        Animal meuAnimal = new Animal();

        Animal meuCachorro = new Cachorro();

        Animal meuGato = new Gato();

        meuAnimal.Som();

        meuCachorro.Som();

        meuGato.Som();

    }

}

✅ Cada classe filha sobrescreve o método Som() de forma diferente!

✅ Conclusão

A Programação Orientada a Objetos é um conceito essencial para quem quer dominar o desenvolvimento em C#! Agora que você já entende os pilares principais, que tal praticar criando seus próprios exemplos?

💡 Dica: Comece criando novas classes com atributos e métodos diferentes e experimente usar herança e polimorfismo!

Comentários

Postagens mais visitadas