纯属个人学习,加深记忆使用。
可索引接口
对数组、对象的约束(不常用)
interface userArr{
[index:number]:string
}
var arr:userArr = ['123','456'];
console.log(arr[0]);
interface userObj{
[index:string]:string
}
var arr1:userObj = {name:'20'}
类类型接口
和抽象类有点相似
类实现接口使用 implements 关键词,必须实现接口内的方法
interface Animal{
name:string;
eat(str:string):void;
}
class Dog implements Animal{
name:string;
constructor(name:string){
this.name = name;
}
eat(){
console.log(this.name+"吃骨头");
}
}
接口扩展
接口可以继承接口
interface Animal {
eat(): void;
}
interface Person extends Animal {
work(): void;
}
class Programmer {
public name: string;
constructor(name: string) {
this.name = name;
}
coding(code: string) {
console.log(this.name + code);
}
}
class Web extends Programmer implements Person {
constructor(name: string) {
super(name)
}
eat() {
console.log(this.name + "吃饭");
}
work() {
console.log(this.name + "写代码");
}
}