Typoskript Mehrfachvererbung workarounds?

Ich versuche zu entdecken, ein Muster für die Kombination mehrerer interfaces in einer abstrakten Klasse. Jetzt kann ich kombinieren mehrere Schnittstellen über "implementiert", aber ein interface kann nicht deklarieren Sie einen Konstruktor. Wenn ich darf vorstellen, ein Konstruktor, bin ich gezwungen, verwenden Sie eine abstrakte Klasse. Wenn ich eine abstrakte Klasse muss ich re-deklarieren Sie die gesamte composite-Schnittstelle! Sicher bin ich etwas fehlt?

interface ILayerInfo {
    a: string;
}

interface ILayerStatic {
    b(): string;
}

class Layer implements ILayerInfo, ILayerStatic {
    constructor(info: ILayerInfo);
    a: string;
    b(): string;
}

ANTWORT: verwenden Sie 'neu':

interface Layer extends ILayerInfo, ILayerStatic {
    new(info: ILayerInfo);
}

//usage: new Layer({ a: "" });

InformationsquelleAutor der Frage Corey Alix | 2013-07-25

Schreibe einen Kommentar