ウェブサイト検索

TypeScript - 抽象クラスの子であるオブジェクトの配列の構文は何ですか?


私はこのTypeScriptの継承階層を持っています。Personは基底の抽象クラスです。一方、ManクラスとWomanクラスは抽象Personクラスの子クラスです。抽象クラスPersonには、_childrenというプロパティがあり、これは抽象Personオブジェクトの配列です。私はWomanクラスとManクラスに子供の配列を追加する必要があります。しかし、Personオブジェクトは抽象クラスなので配列に追加できないと思います。その代わりに、子クラスであるManやWomanのオブジェクトを配列に追加する必要があります。この構文はどのようになるか教えていただけますか?つまり、ManとWomanオブジェクトを含めることができる配列が必要です。

これをしようとするとき:

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

エラーが発生しています: Uncaught ReferenceError: Person is not defined at 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;
    }
}