image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Guilherme Karkoski
Guilherme Karkoski14/02/2025 21:22
Share

Princípios da OOP com C#

  • #C#
  • #.NET

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.

Share
Comments (1)
DIO Community
DIO Community - 17/02/2025 16:25

Ótima abordagem, Guilherme! A Programação Orientada a Objetos realmente potencializa a modularidade, reutilização de código e manutenção em aplicações desenvolvidas com C# e .NET. O jeito como você estruturou os princípios fundamentais – Encapsulamento, Herança, Polimorfismo e Abstração – deixa claro o impacto positivo que esse paradigma tem no design de sistemas escaláveis.

O exemplo de abstração ficou muito bem aplicado ao mundo real, reforçando a importância de criar contratos bem definidos para classes derivadas. Além disso, mencionar Dependency Injection e Entity Framework destaca como o .NET aproveita a OOP para melhorar a organização e desacoplamento do código.

Na sua visão, qual desses conceitos costuma ser o maior desafio para quem está começando com OOP no C#?