typescript - Método estático abstracto en clase abstracta
Recuerdo poder proporcionar una interfaz para una clase abstracta, algo así, pero no puedo encontrar ese código en línea en ningún lugar. ¿Es que no puedo hacerlo aquí:
interface AbstractParent {
staticMember: () => boolean
}
abstract class AbstractParent {
static example() {
return this.staticMember()
}
}
class Utilize extends AbstractParent {
static staticMember() {
return true
}
}
console.log(Utilize.example())
Parque infantil
¿Es posible que una clase abstracta requiera un método estático?
Respuesta #1
También puedes intentar reemplazar this.staticMember() con Utilize.staticMember(): Playground
Idealmente, querrías usar static abstract staticMember. Pero desafortunadamente, todavía no es compatible y no parece que haya una buena manera de implementarlo.
Consulta estas discusiones:
- Sugerencia: Agregar métodos estáticos abstractos en las clases y métodos estáticos en las interfaces
- métodos y propiedades
static abstract - Permitir especificar cláusulas de implementación de interfaz para el lado estático de las clases
Respuesta #2
Esto funciona sin error, pero no garantiza que Utilize implemente un método staticMember.
abstract class AbstractParent {
static staticMember: () => boolean
static example() {
return this.staticMember()
}
}
class Utilize extends AbstractParent {
static staticMember() {
return true
}
}
console.log(Utilize.example())
