和类一样,接口也可以通过关键字 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;
}