typeScript学习笔记-接口

//参数接口 设定一个标准,这个参数以后只能传这两个参数
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(打代码);
经验分享 程序员 微信小程序 职场和发展