Article image
Eduardo Lima
Eduardo Lima14/05/2024 10:27
Compartilhe

PROGRAMAÇÃO ORIENTADA A OBJETOC EM C# [part 1]

  • #.NET
  • #POO

Introdução

O que é programação orientadas a objetos(POO)? 

A programação orientada a objetos (POO) é um paradigma de programação que organiza o código em entidades chamadas objetos. Esses objetos possuem características (atributos) e comportamentos (métodos), proporcionando uma forma organizada e modular de desenvolver software.

Os quatro pilares da POO:

  • Abstração
  • Encapsulamento
  • Herança
  • Polimorfismo

Classe e Objeto:

A classe é a estrutura que define como um objeto se comportará e o que ele conterá, enquanto o objeto é a materialização dessa definição, com valores e funcionalidades concretas.

Ex:

Pessoa - classe Bob - Objeto

- Nome: String "Olá meu nome é Bob e tenho 20 anos."

- Idade: int

O que é Paradigma?

Um paradigma é um modelo ou padrão aceito que serve como base para resolver problemas e avançar em determinada área.

E um Paradigma de programação?

É um modelo ou padrão que define a visão do programador sobre a estruturção e execução de um programa. Ou seja, é um estilo de programação que orienta a resolução de problemas de forma organizada e sistemática.

Alguns dos principais paradigma de programação:

  • Imperativo
  • Estruturado
  • Orientado a objetos
  • Declarativo
  • Funcional
  • Lógico

Abstração

A abstração permite representar objetos do mundo real de forma simplificada, focando nos aspcetos essenciais e ocultando detalhes desnecessários de implementação.

Uma classe abstrata em C# é um modelo que não pode ser instanciado diretamente, ela serve como base para outras classes que a herdam.

Ex:

______________

|    Veiculo    |

|-----------------------|

| - Velocidade: int |

|-----------------------|

| + Andar(): void   |

------------------------

Código

public abstract class Veiculo
{
  public int Velocidade {get; set;} 	
  public abstract void Andar();
}
public class Carro : Veiculo
{   
  public override void Andar()
  {
      Velocidade = 100;
      System.Console.WriteLine($"Carrando andandando a {Velocidade}km/h");
  }
}
Carro carro = new Carro();
carro.Andar();
dotnet run
Carrando andandando a 100km/h

Encapsulamento

O encapsulamento visa ocultar os detalhes de implementação de uma classe, expondo apenas uma interface pública para seu uso.

Os modificadores de acesso, como 'public', 'private' e 'protected', controlam o nível de acesso aos membros de uma classe.

Ex :

____________________

| ContaCorrente |

|---------------------------------|

| + NumeroConta: int |

|---------------------------------|

| - saldo: decimal |

|---------------------------------|

| + Sacar(valor: decimal) |

----------------------------------

public class ContaCorrente
{
  public int NumeroConta { get; set; }
  private decimal saldo;

  public void Sacar(decimal valor)
  {
      if (valor <= saldo)
      {
          saldo -= valor;
          Console.WriteLine($"Saque realizado. Novo saldo: {saldo}");
      }
      else
      {
          Console.WriteLine("Saldo insuficiente para saque.");
      }
  }

  public decimal ConsultarSaldo()
  {
      return saldo;
  }

  public void Depositar(decimal valor)
  {
      saldo += valor;
      Console.WriteLine($"Depósito realizado. Novo saldo: {saldo}");
  }
}

Conclusão

A POO se consolida como uma ferramenta indispensável para a construção de softwares modernos, oferecendo um paradigma poderoso e flexível para modelar problemas complexos e criar soluções escaláveis. Através da abstração, encapsulamento, herança e polimorfismo, os programadores podem organizar o código de forma modular, facilitando o desenvolvimento, a manutenção e a reutilização de software. Dominar os conceitos da POO é essencial para se tornar um programador completo e preparado para os desafios do mundo digital em constante evolução.

Compartilhe
Comentários (0)