如何在子类中更改扩展父类的属性类型

时间:2019-08-28 14:49:28

标签: typescript typescript-typings typescript2.0

也许这是一个愚蠢的问题,但是我想实现以下目标。

我有一个具有许多属性的父类,这些属性在我的角度项目中用作模型。但是,我想再创建一个具有所有这些属性的类,但是其中一个属性应包含不同的类型。我应该如何实现?

所以这里有一个叫Orders的类

export class Orders {
    public id: string;
    public version: string;
    public status: string;
    public name: string;
    public icon?: string;
    public steps?: FlowStep[];
    public sequence: Sequence[]; <----- I want to change type of this
    public start: Trigger;
    public context: Context;
}

现在,我需要另一个类用于另一种方法,该类需要public sequence: string[]。所以我尝试如下。

export class NewOrders extends Orders {
    public sequence: string[]; <-- Error: Type 'string[]' is not assignable to type 'Sequence[]'.
}

我知道我可以在public sequence: Sequence[] | string[]类中定义或条件Orders。但是我真的不想这么做,因为这样Orders类将接受两种类型的数据Sequence[] and string[]

0 个答案:

没有答案