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 implements, 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 new:

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

//usage: new Layer({ a: "" });
InformationsquelleAutor Corey Alix | 2013-07-25
Schreibe einen Kommentar