Sto provando a scoprire un modello per combinare più interfacce in una classe astratta. Attualmente posso combinare più interfacce tramite "implements" ma un'interfaccia non può dichiarare un costruttore. Quando devo presentare un costruttore, sono costretto a usare una classe astratta. Quando uso una classe astratta devo ri-dichiarare l'intera interfaccia composita! Sicuramente mi manca qualcosa?Soluzioni alternative di ereditarietà di dattiloscritto?
interface ILayerInfo {
a: string;
}
interface ILayerStatic {
b(): string;
}
class Layer implements ILayerInfo, ILayerStatic {
constructor(info: ILayerInfo);
a: string;
b(): string;
}
RISPOSTA: uso 'nuovo':
interface Layer extends ILayerInfo, ILayerStatic {
new(info: ILayerInfo);
}
// usage: new Layer({ a: "" });
E 'stata la parola "nuova" sull'interfaccia che mi mancava! Non volevo assolutamente la classe. Con "nuovo" posso attenermi alle interfacce. –