У меня крошечная реализация кода в TypScript, где у меня есть класс, реализующий интерфейс или расширяющий класс.Наследование на машинописных машинах, где типы данных в IntelliSense - это любое вместо ожидаемого числа
interface ITest {
run(id: number): void
}
abstract class Test implements ITest {
abstract run(id);
}
class TestExtension extends Test
{
constructor() {
super();
}
public run(id) { }
}
class TestImplementation implements ITest {
constructor() {
}
public run(id) { }
}
Как показывает неправильный Intellisense, где я ожидал идентификатор по типу «числа»:
(method) TestExtension.run(id: any): void
(method) TestImplementation.run(id: any): void
Я могу, конечно, реализация присваивателя будет public(id: number) { }
, но я не понимаю, почему я должен сделай это.
Может кто-нибудь просветить меня, пожалуйста?
Я вижу, но вам не кажется странным, что мой абстрактный класс и абстрактный метод, который не имеет какой-либо реализации, все еще есть в расширяющийся класс? Мне нужно немного отличить от Typcript – Lostfields