Поле интерфейса должно иметь тип класса, который реализует этот интерфейс - машинопись - PullRequest
0 голосов
/ 29 июня 2019

Мне интересно, достижимо ли это в Typescript.

interface Pine {

    child : <The class that implements this interface>
}

class Vine implements Pine {

    child : Vine // this is enforced to be Vine, rather than any object that implements Pine.
}

Я знаю из этого вопроса , что вы не можете сделать это на Java, но как насчет TS? Я посмотрел tslang doc безрезультатно.

1 Ответ

0 голосов
/ 30 июня 2019

Вы можете использовать Generics. например :

interface Base<T> {
    child: T;
}

class Derived implements Base<string> {
    child: string;
} 

class Derived2 implements Base<number> {
    child: number;
} 
...