Абстрактный метод stati c на абстрактном классе - PullRequest
2 голосов
/ 28 апреля 2020

Я помню, что мог предоставить интерфейс для абстрактного класса, что-то вроде этого, но я не могу найти этот код в Интернете где-либо. Я не могу сделать это здесь:

interface AbstractParent { 
  staticMember: () => boolean
}

abstract class AbstractParent {  
  static example() { 
    return this.staticMember()
  }
}

class Utilize extends AbstractParent {  
  static staticMember() { 
    return true
  }
}

console.log(Utilize.example())

Детская площадка

Можно ли для абстрактного класса требовать метод stati c?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Вы также можете попробовать заменить this.staticMember() на Utilize.staticMember(): Детская площадка

В идеале вы хотите использовать static abstract staticMember. Но, к сожалению, это еще не поддерживается и, похоже, нет хорошего способа реализовать это.

Проверьте наши обсуждения:

0 голосов
/ 28 апреля 2020

Это работает без ошибок, но не гарантирует, что Utilize реализует метод staticMember.

abstract class AbstractParent {  
  static staticMember: () => boolean
  static example() { 
    return this.staticMember()
  }
}

class Utilize extends AbstractParent {  
  static staticMember() { 
    return true
  }
}

console.log(Utilize.example())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...