Junior
¿Qué es una clase abstracta?
sobes.tech AI
Respuesta de la IA
Una clase abstracta es una clase que no se puede crear directamente usando el operador new. Sirve como base para otras clases y puede contener métodos abstractos (sin implementación) y métodos normales (con implementación). Las clases abstractas se definen con la palabra clave abstract.
Características principales:
- No se puede instanciar: No es posible crear un objeto de la propia clase abstracta.
- Puede contener métodos abstractos: Métodos sin cuerpo, que deben ser sobrescritos en las clases hijas.
- Puede contener métodos normales: Métodos con implementación, que pueden ser heredados o sobrescritos.
- Herencia: Las clases hijas heredan de la clase abstracta y deben implementar todos sus métodos abstractos.
Ejemplo:
abstract class Shape {
// Método abstracto sin implementación
double getArea();
// Método normal con implementación
void describe() {
print('Esto es una figura.');
}
}
class Circle extends Shape {
double radius;
Circle(this.radius);
// Implementación del método abstracto
@override
double getArea() {
return 3.14 * radius * radius;
}
}
class Square extends Shape {
double side;
Square(this.side);
// Implementación del método abstracto
@override
double getArea() {
return side * side;
}
}