Sobes.tech
Junior

O que é abstração?

sobes.tech IA

Resposta da IA

A abstração é um dos princípios da programação orientada a objetos, que permite destacar as características essenciais de um objeto, ignorando detalhes não essenciais. Ela simplifica a representação da realidade no código, concentrando-se no "o que" o objeto faz, e não no "como" o faz.

Em C#, a abstração é implementada usando:

  • Classes abstratas: Podem conter métodos abstratos (sem implementação) e métodos normais. Não é possível criar uma instância de uma classe abstrata diretamente.
public abstract class Shape // Classe abstrata
{
    public abstract double Area(); // Método abstrato
    public void DisplayInfo() // Método normal
    {
        Console.WriteLine("Isto é uma figura.");
    }
}
  • Interfaces: Definem um contrato - um conjunto de métodos e propriedades que uma classe que implementa a interface deve possuir. Não contêm campos (até C# 8, onde surgiram os métodos padrão de interface) e podem conter apenas assinaturas de métodos.
public interface IDrawable // Interface
{
    void Draw(); // Método sem implementação
}

As classes que herdam de classes abstratas ou implementam interfaces fornecem uma implementação concreta dos membros abstratos ou da interface.