Ich habe eine winzige Code-Implementierung in Typescript, wo ich eine Klasse entweder eine Schnittstelle implementieren oder eine Klasse erweitern.Typescript Vererbung wo Datentypen in IntelliSense ist any anstelle der erwarteten Zahl
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) { }
}
zeigen beide falsch Intellisense, wo ich id erwartet von der Art ‚Zahl‘:
(method) TestExtension.run(id: any): void
(method) TestImplementation.run(id: any): void
I set-Methode Umsetzung natürlich public(id: number) { }
sein kann, aber ich sehe nicht, warum ich habe mach das.
Kann mir bitte jemand aufklären?
Ich sehe, aber denken Sie nicht, es ist irgendwie seltsam, dass meine abstrakte Klasse und abstrakte Methode, die keine Implementierung hat, noch in die ausdehnende Klasse? Ich muss dann ein wenig anders über Typescript denken – Lostfields