У меня есть абстрактный класс машинописного текста:
abstract class Abstract {
constructor (public parent?: Abstract) {
}
}
Теперь я определяю 2 подкласса:
class Sub1 extends Abstract {
}
class Sub2 extends Abstract {
}
родитель имеет тип Abstract, так что это возможно:
let sub1 = new Sub1 ();
let sub2 = new Sub2 (sub1);
Но я хочу, чтобы Sub1.parent
имел тип Sub1
, а Sub2.parent
должен иметь тип Sub2
. Как мне указать это в определении тезисов?