//参数接口 设定一个标准,这个参数以后只能传这两个参数
interface FnName{
name:string;
age:number;
}
function getName(obj:FnName):void{
console.log(obj,obj);
}
getName({name:张三,age:24});
//函数接口
interface Fun{
(name:string):string
}
let getName1:Fun=function(name:string):string{
return name;
}
console.log(getName1(小明));
//数组可索引接口
interface arrayFn{
[index:number]:string;
}
let arr:arrayFn=[1,2,3];
console.log(arr,arr);
//对象可索引接口
interface objFn{
[index:string]:string
}
let obj:objFn = {name:张三,age:18}
console.log(obj,obj);
//类接口
interface Animal{
name:string;
eat(val:string):string;
}
class Dog implements Animal{
public name:string;
constructor(name:string){
this.name=name;
}
eat(val:string):string{
return this.name+val;
}
}
let dog = new Dog(小黑);
console.log(dog.eat(吃狗粮));
interface people extends Animal{
word(val:string):void;
}
class Programmer implements people{
name:string;
constructor(name:string){
this.name=name;
}
eat(val:string):string{
return this.name+val;
}
word(val:string){
console.log(this.name+val);
}
}
let p1 = new Programmer(张三);
console.log(p1.eat(吃牛排));
p1.word(打代码);
class programmer1{
name:string;
constructor(name:string){
this.name=name;
}
codeing(val:string):void{
console.log(this.name+val);
}
}
class web extends programmer1 implements people{
constructor(name:string){
super(name);
}
eat(val:string):string{
return this.name+val
}
word(val:string):void{
console.log(this.name+val);
}
}
let w1 = new web(李四);
console.log(w1.eat(吃牛排));
w1.codeing(打代码);