和类一样,接口也可以通过关键字 extents 相互继承。接口继承,分为:单继承和多继承,即继承多个接口。另外,接口也可以继承类,它会继承类的成员,但不包括具体的实现,只会把类的成员作为一种声明。
一.单继承
interface A {name: string;
}
// 继承A的name属性
interface B extends A {age: number;
}
// 这时B的接口里面需要有接口A的name并且要有本身的age
var b: B = {name: "逍遥的码农",age: 18,
};
二.多继承
interface A {name: string;
}
interface B {age: number;
}
interface C extends A, B {work: string;
}var c: C = {name: "逍遥的码农",age: 18,work: "cv",
};
三.同名成员的类型必须相同
interface A{age:string;
}
interface B extends A{ //B接口会报错 接口“B”错误扩展接口“A”。属性“age”的类型不兼容。不能将类型“number”分配给类型“string”。age:number;
}