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
Postar um comentário