typescript - Metodă statică abstractă într-o clasă abstractă
Îmi amintesc că puteam să furnizez o interfață pentru o clasă abstractă, ceva de genul acesta, dar nu pot găsi acel cod online nicăieri. De ce nu pot să fac asta aici:
interface AbstractParent {
staticMember: () => boolean
}
abstract class AbstractParent {
static example() {
return this.staticMember()
}
}
class Utilize extends AbstractParent {
static staticMember() {
return true
}
}
console.log(Utilize.example())
Teren de joacă
Este posibil ca o clasă abstractă să impună o metodă statică?
Răspuns #1
De asemenea, poți încerca să înlocuiești this.staticMember() cu Utilize.staticMember(): Playground
Ideal, ai vrea să folosești static abstract staticMember. Dar, din păcate, nu este încă suportat și nu pare să existe o modalitate bună de a implementa acest lucru.
Verifică aceste discuții:
- Sugestie: Adăugați metode statice abstracte în clase și metode statice în interfețe
- metode și proprietăți
static abstract - Permite specificarea clauzelor de implementare a interfeței pentru partea statică a claselor
Răspuns #2
Acest lucru funcționează fără eroare, dar nu garantează că Utilize implementează o metodă staticMember.
abstract class AbstractParent {
static staticMember: () => boolean
static example() {
return this.staticMember()
}
}
class Utilize extends AbstractParent {
static staticMember() {
return true
}
}
console.log(Utilize.example())
