Princípios da OOP com C#
Programação Orientada a Objetos (OOP) com C# e .NET
A Programação Orientada a Objetos (OOP) é um paradigma amplamente utilizado no desenvolvimento de software, permitindo a criação de sistemas modulares, reutilizáveis e de fácil manutenção. O C#, dentro do ecossistema .NET, oferece suporte completo à OOP, facilitando a construção de aplicações escaláveis e robustas.
Princípios da OOP
A OOP em C# é baseada em quatro princípios fundamentais:
1. Encapsulamento
Encapsulamento é o conceito de esconder os detalhes internos de uma classe e expor apenas o necessário.
Exemplo:
public class ContaBancaria {
private decimal saldo;
public void Depositar(decimal valor) {
saldo += valor;
}
public decimal ObterSaldo() {
return saldo;
}
}
Neste exemplo, a variável saldo
é privada e só pode ser alterada por meio de métodos públicos.
2. Herança
Herança permite que uma classe derive de outra, reutilizando código e promovendo a hierarquia de classes.
Exemplo:
public class Veiculo {
public string Modelo { get; set; }
public void Mover() {
Console.WriteLine("O veículo está se movendo.");
}
}
public class Carro : Veiculo {
public int NumeroDePortas { get; set; }
}
Aqui, Carro
herda propriedades e métodos da classe Veiculo
.
3. Polimorfismo
Polimorfismo permite que métodos tenham diferentes implementações em classes derivadas.
Exemplo:
public class Animal {
public virtual void EmitirSom() {
Console.WriteLine("O animal faz um som.");
}
}
public class Cachorro : Animal {
public override void EmitirSom() {
Console.WriteLine("O cachorro late.");
}
}
Aqui, EmitirSom
é sobrescrito na classe Cachorro
, alterando seu comportamento.
4. Abstração
Abstração permite modelar conceitos do mundo real, expondo apenas os comportamentos essenciais.
Exemplo:
public abstract class Funcionario {
public string Nome { get; set; }
public abstract void CalcularSalario();
}
public class Desenvolvedor : Funcionario {
public override void CalcularSalario() {
Console.WriteLine("Salário calculado para Desenvolvedor.");
}
}
Aqui, Funcionario
é uma classe abstrata, garantindo que classes derivadas implementem CalcularSalario
.
OOP na Prática com .NET
O C# dentro do .NET oferece suporte a padrões e ferramentas que facilitam a aplicação da OOP:
- Interfaces (
interface
): Definem contratos que classes devem seguir. - Coleções (
List<T>
,Dictionary<K, V>
): Permitem armazenar e manipular objetos de forma eficiente. - Dependency Injection (DI): Facilita a inversão de controle, promovendo melhor organização do código.
- Entity Framework (EF Core): Usa a OOP para mapear objetos para tabelas em bancos de dados.
O paradigma OOP em C# e .NET é essencial para criar aplicações bem estruturadas, reutilizáveis e fáceis de manter. Ao dominar conceitos como encapsulamento, herança, polimorfismo e abstração, os desenvolvedores podem criar sistemas robustos e escaláveis de maneira eficiente.