接口和类一样也是可以继承的,而且使用方法也跟类极其相似
源码
- ts
//第一个单继承示例
//先声明一个接口
interface Shape{
color:string;
}
//再声明一个扩展(继承)自 Shape 接口的子级接口
interface Square extends Shape{
sideLength:number;
}
//使用上面的接口 需要注意的是这里的使用方法
let s = <Square>{};
s.color = 'red';
s.sideLength = 10;
//第二个多继承示例
//先声明一个接口
interface Shape{
color:string;
}
//再声明一个接口
interface PenStroke{
penWidth:number;
}
//这里声明一个扩展(继承)自 Shape 和 PenStroke 接口的子级接口
//需要注意的是这里的写法
interface Square extends Shape,PenStroke{
sideLength:number;
}
//使用上面的接口 需要注意的是这里的使用方法
let s = <Square>{};
s.color = 'red';
s.penWidth = 10;
s.sideLength = 10;
//第三个混合类型示例
//声明一个接口 下面这个就是混合接口的写法
interface Counter{
interval:number;
reset():void;
(start:number):string;
}
//使用上面的混合接口
let c:Counter;//声明一个数据类型为 Counter 接口类型的变量
//引用接口中定义的方法
c(10);
c.reset();
- HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TypeScript 接口 Interfaces - 接口继承与混合类型</title>
</head>
<body>
<script type="text/javascript" src="Interfaces.js"></script>
</body>
</html>