【发布时间】:2017-02-03 01:08:06
【问题描述】:
我正在使用打字稿创建数据模型范例。我将不同类型的数据存储在不同的地方(SQL、本地缓存)。我想创建一个抽象类,其中包含任何类型的数据存储(创建、查找、更新、计数、销毁)所需的所有方法。通过这种方式,我可以扩展该类并针对不同类型的存储以不同方式实现它,如果我缺少方法,编译器会警告我。然后,我将在描述数据模型的类中扩展其中一个实现。但是,我需要的一些方法(例如 find 和 create)是静态的。我知道打字稿不支持抽象静态方法。是否有类似于我可以使用的抽象方法的东西,以便编译器警告我缺少方法?
我还希望这些静态方法是通用的并且类型与类相同。我知道这对于标准的泛型类没有意义。但是,由于这个类总是会被扩展并且永远不会被实例化,我是否可以在扩展它时键入泛型类,自动更新静态方法上的泛型类型?
【问题讨论】:
标签: generics inheritance typescript abstract-class