我的背景来自Objective-C,您可以在其中指定包含类和接口的类型。我似乎无法找到任何在TypeScript中显示此内容的文档,但它必须存在,对吧?
以下是一个例子:
class Vehicle {}
class Car extends Vehicle {}
class Truck extends Vehicle {}
interface Electric{}
// These next lines are WRONG!
ChargeMyCar(car: Car<Electric>) { ... }
ChargeMyTruck(truck: Truck<Electric>) { ... }
这可能吗?语法是什么?
具有多个接口的类型怎么样?
答案 0 :(得分:2)
这实际上取决于您尝试使用Electric界面做什么。您可以使用以下语法:
class Vehicle {
fuel: any;
}
class Car<T> extends Vehicle {
fuel: T;
}
class Truck<T> extends Vehicle {
fuel: T;
}
interface Electric {}
ChargeMyCar<T extends Electric>(car: Car<T>) { ... }
ChargeMyTruck<T extends Electric>(truck: Truck<T>) { ... }
以上示例显示汽车/卡车采用抽象类型的燃料,并且为了“充电”汽车/卡车,您必须拥有带有电动燃料的汽车/卡车。有点愚蠢的例子,但你明白语法吗?
多个接口很简单,如果您想使用多个接口,则可以执行以下操作:
class Vehicle {
fuel: any;
}
class Car extends Vehicle { }
class Truck extends Vehicle { }
interface Electric { }
class ElectricCar implements Vehicle, Electric { }
class ElectricTruck implements Vehicle, Electric { }
ChargeMyCar(car: ElectricCar) { ... }
ChargeMyTruck(truck: ElectricTruck) { ... }