代码之家  ›  专栏  ›  技术社区  ›  POV

如何实现泛型抽象类?

  •  -1
  • POV  · 技术社区  · 5 年前

    我有抽象课:

    abstract class AScore<T> {
      constructor(
        protected data: T) {}
    }
    

    我实现这个类的方式如下:

    class GetActivitiesPupil implements AScore<number> {}
    

    编译器说是类的错误实现

    1 回复  |  直到 5 年前
        1
  •  3
  •   Ben Smith    5 年前

    您想要扩展抽象类来创建一个具体的实例,即。

    abstract class AScore<T> {
      constructor(protected data: T) {}
    }
    
    class GetActivitiesPupil extends AScore<number> {
      data: number;
    
      constructor(data: number) {
       super(data)}
      }
    }
    
    const test = new GetActivitiesPupil(123);
    console.log(test.data) // Outputs 123
    

    您可以看到此代码没有错误 here .