Qué significa TS2515: Miembro abstracto no implementado y cómo solucionarlo
Referencia del error
TS2515: Miembro abstracto no implementado
Lenguaje
Severidad
MediaCuándo ocurre
El error TS2515 de TypeScript se reporta cuando una clase concreta (no abstracta) extiende una clase abstracta pero no implementa todos sus miembros abstractos.
Posibles soluciones
Implementa todos los métodos abstractos en tu clase concreta. Tu IDE generalmente mostrará qué métodos faltan. Al agregar un nuevo método abstracto a una clase base, TypeScript marcará inmediatamente todas las subclases que necesitan actualizarse.
Más detalles
El error TS2515 de TypeScript se reporta cuando una clase concreta (no abstracta) extiende una clase abstracta pero no implementa todos sus miembros abstractos. Los miembros abstractos definen la interfaz que las subclases deben cumplir.
Por qué ocurre
- •A una subclase le falta una implementación de uno o más métodos abstractos.
- •Se agregó un método a la clase abstracta pero aún no se agregó a todas las subclases.
- •Copiar y pegar una definición de clase sin actualizar las implementaciones abstractas.
- •Renombrar un método abstracto sin actualizar la sobreescritura de la subclase.
Posibles soluciones
Implementa todos los métodos abstractos en tu clase concreta. Tu IDE generalmente mostrará qué métodos faltan. Al agregar un nuevo método abstracto a una clase base, TypeScript marcará inmediatamente todas las subclases que necesitan actualizarse.
Ejemplos
Código que causa el error
abstract class Shape {
abstract area(): number;
}
class Circle extends Shape {
// forgot to implement area()
}Error en la terminal
error TS2515: Non-abstract class 'Circle' does not implement inherited abstract member 'area' from class 'Shape'.
Código corregido
abstract class Shape {
abstract area(): number;
}
class Circle extends Shape {
constructor(private radius: number) {
super();
}
area(): number {
return Math.PI * this.radius ** 2;
}
}Practica en inglés
¿Cómo le explicarías un TS2515: Abstract Member Not Implemented a un compañero dev? Elige la frase correcta:
"I hit an error...
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis