Junior
O que é uma classe abstrata?
sobes.tech IA
Resposta da IA
Uma classe abstrata é uma classe que não pode ser criada diretamente usando o operador new. Ela serve como base para outras classes e pode conter métodos abstratos (sem implementação) e métodos normais (com implementação). As classes abstratas são definidas com a palavra-chave abstract.
Principais características:
- Não pode ser instanciada: Não é possível criar um objeto da própria classe abstrata.
- Pode conter métodos abstratos: Métodos sem corpo, que devem ser sobrescritos nas classes derivadas.
- Pode conter métodos normais: Métodos com implementação, que podem ser herdados ou sobrescritos.
- Herança: As classes derivadas herdam da classe abstrata e devem implementar todos os seus métodos abstratos.
Exemplo:
abstract class Shape {
// Método abstrato sem implementação
double getArea();
// Método normal com implementação
void describe() {
print('Isto é uma figura.');
}
}
class Circle extends Shape {
double radius;
Circle(this.radius);
// Implementação do método abstrato
@override
double getArea() {
return 3.14 * radius * radius;
}
}
class Square extends Shape {
double side;
Square(this.side);
// Implementação do método abstrato
@override
double getArea() {
return side * side;
}
}