我有一个名为Action
的抽象类:
abstract class Action { ... }
我有几个扩展Action
的类:
class Vote extends Action { ... }
class Upload extends Action { ... }
...
我如何声明一个扩展Action
的类数组(但不应该接受Action
本身?
const actions: (typeof Action)[] = [
Vote, // OK (passes)
Upload, // OK (passes)
File, // OK (fails)
Action // BAD (passes)
]
答案 0 :(得分:5)
使用构造函数签名来返回抽象类而不是抽象类。抽象类在类型系统中没有构造函数,因此它将是无效的,但是任何继承该抽象类的派生类都将是有效的。
g = sns.catplot(x="Category", y="R^2", col="Country", data=df, kind="box", aspect=.7)