0
export class Greeter<T> {
greeting: T;
constructor(message: T) {
this.greeting = message;
}
greet() {
return this.greeting;
}
}
export interface IAAA{
test:(id:string)=> Greeter<string>;
}
class AAA implements IAAA{
test(id:string):Greeter<any> {
//return new Greeter<string>("Hello, world");
return new Greeter<number>(123);
}
}
這不會給任何錯誤。接口聲明期望輸入的對象爲string
,但數字類型的any
如何滿足它。我期望一個類不能實現接口的錯誤,因爲接口需要更嚴格的類型。
還有點困惑。請看後續的qn http://stackoverflow.com/questions/22377759/static-typting-and-generic-contravariance – bsr