C# · Essencial · Inglês · Técnico
abstract class
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