ExpertiDict

C# · Essencial · Inglês · Técnico

abstract class

/ˈæbstrækt klæs/substantivo

Classe que não pode ser instanciada e serve de base para outras, podendo trazer implementação parcial e membros abstratos que as derivadas são obrigadas a implementar.

Onde usar

Aparece em hierarquias com código compartilhado, como uma Forma base com Area abstrata. Importa na escolha entre abstract class e interface: a classe abstrata carrega estado e construtor, mas só permite uma base.

Em código

abstract class Forma
{
  public abstract double Area();
}
class Quadrado(double l) : Forma
{
  public override double Area() => l * l;
}

Exemplos

The base class is abstract, you can't instantiate it.

A classe base é abstrata, não dá para instanciar.

Put the shared logic in an abstract class.

Coloque a lógica compartilhada em uma classe abstrata.

Cuidado

Não confunda com interface: o C# não tem herança múltipla de classes, então reservar a única base para uma abstract class é uma decisão de design.

Sinônimos

classe abstrata

Antônimos

classe concreta

Veja também

Todos os termos de C#