Article image
Gabriel Santos
Gabriel Santos01/04/2024 20:31
Compartilhe

Aprendendo Orientação a Objetos de uma vez por todas

  • #.NET
  • #Orientação a objetos, classes e métodos
  • #.NET C#

Orientação a Objetos

Encapsulamento

  public class Garrafa
  {
      public int Altura { get; set; }
      public int Largura { get; set; }
      public int Capacidade { get; set; }

      public void Abrir()
      {

      }
      public void Fechar()
      {

      }
  }

Esse processo de agrupar esses itens, agrupar variaveis e funções dentro de unidades que a gente chama de objetos é o primeiro pilar da orientação a objetos que a gente chama de encapsulamento.

Abstração

Esconde os detalhes desnecessários das implementações que a gente tem. Você não sabe como funciona por de baixo dos panos. Resumidamente é apenas asbtrair informações.

  public class Garrafa
{
  private int Total = 0;
  public int Altura { get; set; }
  public int Largura { get; set; }
  public int Capacidade { get; set; }

  public void Abrir() { }
  
  public void Fechar(){ }

  private void Encher()
  {
      while(Total < Capacidade)
      {
          Total++;
      }
  }
}

Herança

Quando você herda algo, você trás umas propriedades e métodos de um outro objeto.

public class Pai 
{

}

public class Filho : Pai 
{

}

Tudo que a classe pai faz, a classe Filho também pode fazer, porém ela pode ter métodos adicionais referentes a ela própria.

Polimorfismo

  • poli: Muito
  • morf: Forma

Significa que a gente pode ter várias formas do mesmo objeto

  public class Garrafa
  {
      public virtual void Finalidade()
      {
          Console.WriteLine("Garrafa Generica");
      }
  }

  public class GarrafaTermica: Garrafa
  {
      public override void Finalizade()
      {
          Console.WriteLine("Manter a temperatura");
      }
  }

  public class GarrafaVidro: Garrafa
  {
      public override void Finalidade()
      {
          Console.WriteLine("Manter o sabor");
      }
  }

  public class Barril : Garrafa
  {
      public override void Finalidade()
      {
          Console.WriteLine("Armazenar grandes quantidades");
      }
  }
Compartilhe
Comentários (1)
Caio Longo
Caio Longo - 01/04/2024 20:36

Acredito que faltou falar sobre as "visibilidades" dos atributos durante o encapsulamento: Publico, privado e protegido, sendo cada uma delas "níveis de permissões" para acesso dos atributos fora da classe.

Bom tópico!!