我可以在抽象類的建構式中創建一個新的類實體嗎?
像這樣:
export抽象的class BaseClass< T> {
constructor(protected genericClass = new T()) 。
或者這只是一個真正的愚蠢問題?
uj5u.com熱心網友回復:
這取決于。在你的例子中,因為在運行時你不能訪問任何型別資訊,所以沒有辦法知道要實體化哪個類。因此,如果沒有更多的資訊,這是不可能的
解決這個問題的方法是
對此的變通方法是提供建構式。我不確定其用途,但以下是它的作業方式:
export抽象的class BaseClass< T> {
constructor(cls: { new()。T }, protected genericClass = new cls()) {}
}
class MyClass {
readonly value: number = 1;
}
class ExtendBaseClass extends BaseClass< MyClass> {
constructor(){
super(MyClass)。
}
accessGenericClass(){
return this.genericClass.value。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/330174.html
標籤:
