2016-12-05 116 views
2

我想要一個變量來存儲一個類實例數組,但我想指定數據類型作爲從「基」類繼承的任何東西。這更好地通過示例演示:TypeScript變量,它包含一個擴展基類的類實例

class Mom { } //Base class 
class Son extends Mom { } 
class Daughter extends Mom { } 

//What is the syntax for this? 
let example : <T extends Mom>T[] = [ ]; //This array should store anyting that extends 'Mom' 

//The this would be possible 
example.push(new Mom()); 
example.push(new Son()); 
example.push(new Daughter()); 

在此先感謝。

+0

如何:'我們例子= []作爲媽媽[];'? –

回答

4

嘗試這種方式

let example : Array<Mom> = [ ]; 

here

+0

這是否包括延伸媽媽的東西?因爲它不是很詳細。 –

+0

@CameronBell是的一切是媽媽 –

1

你可以做這樣的事情

type Shape = Mom | Son | Daughter; 
let example:Array<Shape> = new Array<Shape>(); 
+0

但是,然後我將不得不手動添加我想要的每個類。無論如何要自動做到這一點? –

+0

在你的情況只是**數組 **是好的,將工作。 – kimy82