我extends
在 TypeScript 中使用约束,如下所示:
class Animal {}
class Lion extends Animal {}
class Bear extends Animal {}
class ZooKeeper<T extends Animal> {
constructor(p: T = new Animal()) {
}
}
new ZooKeeper(new Animal());
但p: T = new Animal()
包含一个错误:
“动物”类型不能分配给“T”类型。
构造函数动物():动物
为什么,我该怎么做才能使用Animal
, 代替Animal
子类型?