ExpertiDict

TypeScript · Essencial · Português · Técnico

classe abstrata

/ˈklasi abisˈtɾatɐ/substantivo feminino

Classe marcada com abstract que não pode ser instanciada diretamente e serve de base para outras. Pode declarar membros abstratos, sem corpo, que as subclasses são obrigadas a implementar.

Onde usar

Aparece em hierarquias com comportamento comum e uma parte variável, como um processador base com o método abstrato processar. O erro 'Cannot create an instance of an abstract class' indica uso errado.

Em código

abstract class Forma {
  abstract area(): number;
  info() { return `área ${this.area()}`; }
}
class Quadrado extends Forma {
  constructor(private l: number) { super(); }
  area() { return this.l ** 2; }
}

Exemplos

Essa classe abstrata define o esqueleto, e cada subclasse implementa o processar.

Não dá para dar new na classe abstrata, só nas subclasses concretas.

Cuidado

Abstract é só checagem de compilação: em runtime a classe existe e JavaScript puro consegue instanciá-la; e, ao contrário de uma interface, ela gera código.

Sinônimos

abstract class

Antônimos

classe concreta

Veja também

Todos os termos de TypeScript