希望你們中的一個angular2 /打字稿嚮導可以幫忙,或至少提供了正確的方向指針,之前我瘋了:-)angular2 /打字稿類的繼承與泛型類型
這裏是我的倒是喜歡
- 有父類實現它自己定義的父接口,但使用泛型類型這樣我就可以創建一個子類時,它提供了孩子的具體和定製類&數據接口。
- 子類應該能夠由
- 能夠覆蓋缺省的/父集變量
- 覆蓋父功能(擴展父數據類)並調用,而不是父母的孩子的版本默認
在下面的僞代碼示例,我想打電話給孩子的(繼承)someOtherfunction()
返回「2」 ...
我問太多了嗎? 我似乎無法在網上找到任何像樣的例子...
我該如何解決這個問題?
謝謝 - 奧利弗
(下面的代碼可能被打破,它只是爲了舉例說明)
//
// Parent Class
//
export interface ICoreData <T> {
observeItems: Observable <T[]> ;
items: Array <T>;
}
@Injectable()
export class CoreData<T> implements ICoreData<T> {
public observeItems: Observable<T[]>;
private items: Array<T>;
constructor('Dependency Injection...') {}
coreFunction(): number {
return 1;
}
someOtherfunction(){
return this.coreFunction();
}
}
//
// Child class
//
export interface IMyDataStructure {
name: string;
age: string;
}
export interface ISpecificData extends ICoreData<IMyDataStructure> {
someExtraKey: number;
}
@Injectable()
export class SpecificData extends CoreData<IMyDataStructure> implements ISpecificData {
constructor() {
super();
}
coreFunction(): number{
//
// This function should "overwrite" the parent's original function
// and be called by the parent's someOtherfunction() function
//
return 2;
}
}
你對上面的代碼有什麼問題?那裏沒有兒童班,順便說一句。 – estus
爲什麼用'@Injectable()'註解''''''?你的依賴注入問題? – Springrbua
以上不編譯;儘管我給了它最好的嘗試,但對於我想實現的目標(按照我的描述),它似乎是錯誤的或至少不是完全正確的方法。 回覆:DI,我甚至沒有得到那麼遠的測試。 – olivermuc