TypeScript - 作为抽象类子元素的对象数组的语法是什么?

时间:2018-06-10 14:18:03

标签: arrays typescript abstract-class

我有这个TypeScript继承层次结构,Person是基础抽象类。 鉴于Man& class Woman是抽象Person类的后代。 抽象类Person有一个名为_children的属性,它是抽象Person对象的Array。 我需要在我的女人和男人课上添加一个孩子阵列。 但我想我不能添加Person对象的数组,因为它是抽象的。 相反,我需要添加后代对象Man&数组的女人。 你能告诉我这个结构的语法是什么吗? 所以我需要一个可以包含Man&女人的对象。

当我尝试这样做时:

private children: Person[] = [this.womanA, this.manB, this.womanD, this.manC]; 
private manD: Man = new Man(this.children, 'Lyngby');

我收到错误: 未捕获的ReferenceError:Person未定义在Object ../ src / app / _models / Man.ts

abstract class Person {
    private _children: Person[];    
    constructor(children: Person[]) {
        this._children = children;
    }
}

export class Woman extends Person {
    private _shoesize: number;
    constructor(children: Person[], shoesize: number) {
        super(children);
        this._shoesize = shoesize;
    }
}

export class Man extends Person {
    private _favteam: string;
    constructor(children: Person[], favteam: string) {
        super(children);
        this._favteam = favteam;
    }
}

0 个答案:

没有答案